我想在默認情況下顯示我的所有產品,從最新到最舊。我看到這個鏈接:如何在Magento後端添加按日期排序
而且還this之一。他們都顯示相同的解決方案,但始終爲前端。
我要的是上系統 - >配置 - >目錄 - >產品列表排序默認設置,默認設置爲創建於,我想也設置順序(降序或ASC)。
有關如何自定義的想法?
我想在默認情況下顯示我的所有產品,從最新到最舊。我看到這個鏈接:如何在Magento後端添加按日期排序
而且還this之一。他們都顯示相同的解決方案,但始終爲前端。
我要的是上系統 - >配置 - >目錄 - >產品列表排序默認設置,默認設置爲創建於,我想也設置順序(降序或ASC)。
有關如何自定義的想法?
對不起,我沒有回答你的問題。
網格由ENTITY_ID下令:
// app/code/core/Mage/Adminhtml/Block/Catalog/Product/Grid.php:41
$this->setDefaultSort('entity_id');
$this->setDefaultDir('DESC');
這意味着,你想要的行爲應該是默認。
其實它不起作用。它仍然是一樣的。但是我用你的代碼學到了很多東西。 – Sonhja
你的行爲是什麼?刪除你的cookies,登錄到後端,網格排序的關鍵是什麼? –
您可以安裝GridControl寫的延伸,將其添加到您的模塊
<?xml version="1.0"?>
<gridcontrol>
<grids>
<product.grid>
<add>
<header>Created at</header>
<type>int</type>
<index>created_at</index>
</add>
</product.grid>
</grids>
</gridcontrol>
該解決方案是不測試中創建一個grid.xml。
不清楚這個解決方案... – Sonhja
GridControl是一個擴展,可以輕鬆地將新列添加到網格。通過上面的代碼,您可以添加created_at列。我剛纔看到,你不能通過這個欄目來命令擴展。所以您有兩種方法:擴展擴展以更改默認順序或編寫自己的擴展來更改它。 –
去了解它在不改變任何核心文件的最佳方法是複製位於Toolbar.php文件:
/app/code/core/Mage/Catalog/Block/Product/List/Toolbar.php
然後創建一個新的目錄路徑(如果您尚未創建一個)下:
/app/code/local/Mage/Catalog/Block/Product/List/Toolbar.php
立即替換來自管線232執行以下操作:
if ($this->getCurrentOrder()) {
$this->_collection->setOrder($this->getCurrentOrder(), $this->getCurrentDirection());
}
到
if ($this->getCurrentOrder()) {
if(($this->getCurrentOrder())=='position'){ //defines the sort option
//sort by position (ascending) and entity_id (descending)
$this->_collection->addAttributeToSort('position','asc')->addAttributeToSort('entity_id','desc');
} else {
$this->_collection->setOrder($this->getCurrentOrder(),$this->getCurrentDirection());
}
}
最後,在您的Magento後端重新編制索引並刷新緩存,然後準備就緒。
該產品的ID會告訴你它們的創建順序:) – boruch
順便說一句,這是正確的。如果您只想對網格進行排序並且看不到創建日期,則按ID排序就足夠了。 –
嗡嗡聲,但...我怎麼可以在後端按ID命令? – Sonhja