我在toolbar.phtml中使用了这个块:
<div class="sort-by">
<label><?php echo $this->__('Sort By') ?></label>
<select onchange="setLocation(this.value)">
<?php foreach($this->getAvailableOrders() as $_key=>$_order): ?>
<option value="<?php echo $this->getOrderUrl($_key, 'desc') ?>"<?php if($this->isOrderCurrent($_key)): ?> selected="selected"<?php endif; ?>>
<?php echo $this->__($_order) ?>
</option>
<?php endforeach; ?>
</select>
**<?php if($this->getCurrentDirection() == 'desc'): ?>**
<a class="category-desc v-middle" href="<?php echo $this->getOrderUrl(null, 'asc') ?>" title="<?php echo $this->__('Set Ascending Direction') ?>"><?php echo $this->__('Set Ascending Direction') ?></a>
<?php else: ?>
<a class="category-asc v-middle" href="<?php echo $this->getOrderUrl(null, 'desc') ?>" title="<?php echo $this->__('Set Descending Direction') ?>"><?php echo $this->__('Set Descending Direction') ?></a>
<?php endif; ?>
</div>
我将asc更改为desc,但它似乎没有工作。
答案 0 :(得分:2)
Magento目前不允许您从后端配置中定义排序顺序。但是,它们可以让您选择可以排序的内容。要更改默认排序顺序,您必须执行以下操作:
将app/code/core/Mage/Catalog/Block/Product/List/Toolbar.php
复制到
app/code/local/Mage/Catalog/Block/Product/List/Toolbar.php
打开app/code/local/Mage/Catalog/Product/Block/List/Toolbar.php
寻找protected $_direction = 'asc';
更改为protected $_direction = 'desc';
保存文件,清除缓存。
要将默认排序更改为价格,请执行以下操作:
在Magento管理员中,转到System > Configuration > Catalog
将产品详情排序改为价格
点击保存配置
答案 1 :(得分:0)
在catalog.xml中添加值:
<action method="setDefaultDirection"><dir>desc</dir></action>
示例:
<block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml">
<block type="page/html_pager" name="product_list_toolbar_pager"/>
<!-- The following code shows how to set your own pager increments -->
<!-- .... -->
<action method="setDefaultDirection"><dir>desc</dir></action>
</block>