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>

它显示工具栏,但工具栏不工作(限制,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();。在上面的代码项中,perpage 是总没有要在列表页面上显示的项目。如果您创建自定义模块并从列表块扩展您的块,则此代码有效。谢谢

于 2013-01-07T12:56:14.720 回答