在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(); ?>
返回一個空字符串,但我不明白爲什麼。
任何幫助表示讚賞。
乾杯, 邁克爾。
我同意你的看法,我也嘗試過這種方式,仍然沒有工具欄,沒有分頁,只是整個頁面上引發的集合。我同意你把它放在local.xml中,這只是最後一次看到它的工作。最初我在類別的「自定義佈局更新」部分中有更新位置。就我個人而言,我認爲工具欄會因更新而丟失,或者由於我繞開預期的調用$ _productCollection = $ this-> getLoadedProductCollection();工具欄未被調用。但只是猜測... –
最好的DDx將做到以上,但傳遞原始模板(* catalog/product/list.phtml *)作爲您的參數,看看它是否工作。如果是這樣,那麼問題出在您的模板上 - 很可能是因爲您沒有使用尋呼機等期望的原始產品集合。產品列表視圖不是一個乾淨的區域,因爲視圖中的各種對象和模型層都通過註冊表綁定。您需要在預渲染階段進行更高級的工作,即不在模板中。 – benmarks