产品列表的顺序通常由工具栏块控制Mage_Catalog_Block_Product_List_Toolbar
。但是,如果您希望能够影响从布局中订购产品集合的方式,您可以执行以下操作:
重写该块Mage_Catalog_Block_Product_List
并为其添加一个函数:
public function setOrder($attribute, $direction)
{
$collection = $this->_getProductCollection();
$collection->clear()->setOrder($attribute, $direction);
$this->_productCollection = $collection;
}
在布局更新中添加一个动作节点,例如
<reference name="content">
<block type="catalog/product_list" name="featured" template="catalog/product/list.phtml">
<action method="setCategoryId"><category_id>8</category_id></action>
<action method="setOrder"><attribute>name</attribute><direction>desc</direction></action>
</block>