显示pagenumbers和过滤器

时间:2013-10-18 13:40:09

标签: php magento attributes pagination toolbar

我做了一个剧本女巫展示产品。

但所有产品都在没有pagenumber工具栏的一页上

如何激活产品系列的页面编号。

我使用以下方式收集了该集合:

$attribute = Mage::getResourceModel('catalog/product')->getAttribute('manufacturer');
$attribute->setStoreId(Mage_Core_Model_App::ADMIN_STORE_ID);
$source = $attribute->getSource();
$id = $source->getOptionId($brand);

//$products = Mage::getModel('catalog/product')->getCollection();
$products = Mage::getResourceModel('catalog/product_collection')->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes());
$products->addAttributeToFilter('manufacturer', array('eq' => $id));

接下来我使用从catalog / list.phtml中删除的foreach来显示所有产品

如何激活页面编号工具栏

2 个答案:

答案 0 :(得分:1)

试试这个:

$pager = $this->getLayout()->createBlock('page/html_pager');
echo $this->getLayout()->createBlock('catalog/product_list_toolbar')->setChild('product_list_toolbar_pager', $pager)->setCollection($products)->toHtml();

答案 1 :(得分:0)

您应该使用catalog/product/list.phtml而不是从中进行复制。因此,您需要在<global>中的config.xml - 代码中添加此内容:

    <blocks>
        <yourmodule>
            <class>Namespace_Yourmodule_Block</class>
        </yourmodule>
    </blocks>

您可以稍后将其添加到布局XML:

<yourmodule_index_view translate="label">
    <!-- other nodes here, for example root where you pick base page layout template -->
    <reference name="content">
        <!-- more blocks here or below if you need anything above or below listing -->
        <block type="yourmodule/list" name="anyName" template="catalog/product/list.phtml"/>
    </reference>
</yourmodule_index_view>

在控制器IndexController.php

public function viewAction() {
    $this->loadLayout();
    $this->renderLayout();
}

你的块Block/List.php

class Namespace_Yourmodule_Block_List extends Mage_Catalog_Block_Product_List
{
    protected function _getProductCollection()
    {
        // any code here, get the collection in $collection for example..
        $this->_productCollection = $collection;
        return $this->_productCollection;
    }
}