0

私はこのチュートリアルを使用し、複数のカテゴリに基づいて製品を表示していますが、現在問題になっているのは、ページャーツールバーが機能していないことです。私のブロックコードは:

<reference name="content"> 
    <block name="mymodule" type="mymodule/product_listcategories"  template="catalog/product/list.phtml">
        <action method="setCategories">
            <ids>2,3,4</ids>
        </action>
    </block>
</reference>

上記のコードも追加します

<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"/>
    </block>
    <action method="setToolbarBlockName"><name>product_list_toolbar</name></action>
</block>

ツールバーは表示されますが、ツールバーが機能していません(limit、orderby)。私のブロックコードは

class Mymodule_Block_Product_Listcategories extends Mage_Catalog_Block_Product_List
{
    protected function _getProductCollection()
    {

        $this->_productCollection = Mage::getModel('catalog/product')->getCollection();
        $this->_productCollection->addAttributeToSelect('*');

        if($this->getCategories()!="")
            $this->_productCollection->addCategoriesFilter($this->getCategories());

            return $this->_productCollection;
        }
    }
}

誰かが問題がどこにあるか知っていますか?ポケットベルのコードが不足していると思いますか?前もって感謝します

4

1 に答える 1

0

たくさん検索した後、私は解決策を得ました。それが正しいか間違っているかはわかりませんでしたが、それは私の問題を解決します。私のブロックでは 、次の$cpBlock = $this->getLayout()->getBlockSingleton('Mage_Catalog_Block_Product_List_Toolbar'); ようなページャーコア関数のインスタンスを作成してアクセスします $this->_itemPerPage = $cpBlock->getLimit();。上記のコードでは、itemperpageは合計リストページに表示されるアイテムの数。このコードは、カスタムモジュールを作成し、リストブロックからブロックを拡張する場合に機能します。ありがとうございます。

于 2013-01-07T12:56:14.720 に答える