0

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

但是所有产品都在一页上,没有页码工具栏

如何激活产品集合的页码。

我通过以下方式接收收藏:

$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 来显示所有产品

如何激活页码工具栏

4

2 回答 2

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();
于 2013-10-18T15:08:11.530 回答
0

您应该使用catalog/product/list.phtml而不是从中复制。所以你需要<global>在你的 -tag 中有这个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();
}

还有你的块 PHPBlock/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;
    }
}
于 2013-10-18T14:37:54.790 回答