4

カタログリストのソート方法に日付を追加していました。日付で並べ替えを選択した場合、リストは日付で並べ替えられます - これはうまく機能しています。しかし、カタログリストでデフォルトの日付順(DESC)を設定するにはどうすればよいですか? 私の場合、これらのソリューションが機能していません:catalog.xml

<action method="setDefaultDirection"><dir>desc</dir></action>
<action method="setDefaultOrder"><field>created_at</field></action>

および:
Catalog/Block/Product/List/Toolbar.php

protected $_direction = 'desc';

マジェントのバージョン: 1.7.0.2。

編集: 1
ローカル フォルダー /app/code/local/SortByDate/ に新しいモジュールを作成しました。2つのファイルを追加しました。最初の /catalog/model/Config.php:

class SortByDate_Catalog_Model_Config extends Mage_Catalog_Model_Config {

    public function getAttributeUsedForSortByArray()
    {
        $options = parent::getAttributeUsedForSortByArray();
        if (!isset($options['created_at'])) {
            $options['created_at'] = Mage::helper('catalog')->__('Date');
        }
        return $options;
    }

}


2番目の /etc/config.xml :

 <config><global><models><catalog><rewrite><config>SortByDate_Catalog_Model_Config</config></rewrite></catalog></models></global></config>

編集 2 - この関数を修正して解決しました。問題はなくなりました:)

        public function setDefaultOrder($field)
    {
//set default order by date
        if (isset($this->_availableOrder[$field])) {
                         $this->_availableOrder = array(
                                'created_at' => $this->__('Date'),
                'name'        => $this->__('Name'),
                'price'       => $this->__('Price'),
            );
            $this->_orderField = $field;
        }
        return $this;
    }
4

2 に答える 2

0

同様の問題があり、すべてのWebサイトで問題を解決するために、そのトリックを実行する拡張機能を開発しました。

無料で、インストールして使用するのは非常に簡単です。自由にダウンロードしてください。

https://magento.mdnsolutions.com/extensions/mdn-sort-by-date.html

乾杯、

レナート

于 2015-07-30T07:59:43.437 に答える