如何将Magento Enterprise“按价格排序”改为降序?

时间:2012-11-28 17:29:04

标签: magento sorting

我在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,但它似乎没有工作。

2 个答案:

答案 0 :(得分:2)

Magento目前不允许您从后端配置中定义排序顺序。但是,它们可以让您选择可以排序的内容。要更改默认排序顺序,您必须执行以下操作:

  1. app/code/core/Mage/Catalog/Block/Product/List/Toolbar.php复制到 app/code/local/Mage/Catalog/Block/Product/List/Toolbar.php

  2. 打开app/code/local/Mage/Catalog/Product/Block/List/Toolbar.php

  3. 寻找protected $_direction = 'asc';

  4. 更改为protected $_direction = 'desc';

  5. 保存文件,清除缓存。

  6. 要将默认排序更改为价格,请执行以下操作:

    1. 在Magento管理员中,转到System > Configuration > Catalog

    2. 产品详情排序改为价格

    3. 点击保存配置

答案 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>