如何改变Magento Enterprise“;“按价格排序”;下降?

如何改变Magento Enterprise“;“按价格排序”;下降?,magento,sorting,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 $_k

我在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>


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$\u direction='asc'

  • 更改为
    protected$\u direction='desc'

  • 保存文件,清除缓存

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

  • 在Magento管理中,转到
    System>Configuration>Catalog

  • 将产品列表排序方式更改为价格

  • 单击保存配置


  • 在catalog.xml中添加值:

    <action method="setDefaultDirection"><dir>desc</dir></action>
    
    desc
    
    例如:

    <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>
    
    
    描述
    
    您是否试图更改默认排序顺序?修改工具栏不会更改默认排序顺序。当用户与它交互时,它只是一种设置排序顺序的机制。公共函数setDefaultOrder($field){if(isset($this->_availableOrder[$field]){$this->_orderField=$field;}返回$this;}我试过使用这个函数,理想情况下,我只想全局地将所有排序更改为默认->价格->下降确切地说,您要在哪个页面上更改排序顺序?这是前端还是后端,这是订单历史页面吗?我正在尝试在前端->类别中更改它。谢谢,这是有效的。但是它的app/code/local/mage/catalog/block/product/list/toolbar.php您应该创建一个自定义模块(在
    app/code/local
    中),扩展
    mage\u catalog\u block\u product\u list\u工具栏
    类,并且只覆盖
    $\u direction
    属性,而不是覆盖整个文件。