local.xml で、レイアウトの更新を作成して、カスタムのフィルター処理された製品コレクションを表示できるようにしました。
これは local.xml にあります。
<CATEGORY_7>
<block type="catalog/category_view" name="category.products" template="catalog/category/view.phtml">
<block type="catalog/product_list" name="product_list" template="catalog/product/cashcrop.phtml">
<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="addColumnCountLayoutDepend"><layout>empty</layout><count>6</count></action>
<action method="addColumnCountLayoutDepend"><layout>one_column</layout><count>5</count></action>
<action method="addColumnCountLayoutDepend"><layout>two_columns_left</layout><count>4</count></action>
<action method="addColumnCountLayoutDepend"><layout>two_columns_right</layout><count>4</count></action>
<action method="addColumnCountLayoutDepend"><layout>three_columns</layout><count>3</count></action>
<action method="setToolbarBlockName"><name>product_list_toolbar</name></action>
<action method="setColumnCount"><columns>4</columns></action>
</block>
</block>
</CATEGORY_7>
テンプレート ファイルは list.phtml のコピーですが、コレクションをフィルター処理するように変更されています。
<?php
$_productCollection = Mage::getModel('catalog/product')->getCollection();
//$_productCollection=$this->getLoadedProductCollection();
$_productCollection
->addAttributeToSelect('*')
//->addAttributeToFilter('status', 1)
//->addAttributeToFilter('visibility', 4)
->addAttributeToFilter('randament', array('in' => array(101, 102)))
->load()
;
$this->setCollection($_productCollection);
$_helper = $this->helper('catalog/output');
?>
これは機能し、コレクションには 105 個の製品が含まれています。問題はツールバーです - 表示されていません。ツールバーが表示されない理由を誰か知っていますか? (これ<?php echo $this->getToolbarHtml(); ?>
が空の文字列を返すことはわかっていますが、その理由はわかりません。
どんな助けでも感謝します。
乾杯、マイケル。