magento中自定义模块中的寻呼机工具栏

时间:2012-12-31 09:46:57

标签: magento magento-1.7

我使用此tutorial并在多个类别的基础上显示产品,但现在我遇到的问题是寻呼机工具栏没有处理。 我的区块代码是:

<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>

它显示工具栏但工具栏不起作用(限制,顺序)。 我的块代码是

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;
        }
    }
}

有谁知道问题出在哪里?我想我错过了寻呼机的一些代码?提前致谢

1 个答案:

答案 0 :(得分:0)

在搜索之后我得到了一个解决方案。我不知道它是对还是错,但它解决了我的问题。在我的块中我创建了 $cpBlock = $this->getLayout()->getBlockSingleton('Mage_Catalog_Block_Product_List_Toolbar'); 并且访问寻呼机核心功能,如$this->_itemPerPage = $cpBlock->getLimit();。在上面的代码中,itemperpage是要在列表页面上显示的项目的总数。如果您创建自定义模块并从列表块扩展块,此代码可以工作。谢谢