1

私は少しMagentoの初心者です。ホームページの[ページレイアウト]セクションに次のコードがあります。

<reference name="content">
    <block type="catalog/product_list" name="featured" template="catalog/product/list.phtml">
        <action method="setCategoryId"><category_id>8</category_id></action>
    </block>
</reference>

このブロックの製品が注文された属性を変更するにはどうすればよいですか?

4

1 に答える 1

1

製品リストの順序は、通常、ツールバー ブロックによって制御されます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>

于 2013-02-08T13:00:59.343 に答える