2013-04-10 101 views
2

我是Magento的新手,我很難弄清楚當從catalog/category/view.phtml文件調用它時,如何在工具欄中顯示尋呼機。下面是我使用的代碼:Magento工具欄不呈現尋呼機

$layout = Mage::getSingleton('core/layout'); 
$toolbar = $layout->createBlock('catalog/product_list_toolbar'); 
$pager = $layout->createBlock('catalog/html_pager'); 
$block = $layout->createBlock('catalog/product_list'); 
$block->setCategoryId($_category->getId()); 
$block->setChild('toolbar', $toolbar); 
$collection = $block->getLoadedProductCollection(); 
$toolbar->setCollection($collection); 
echo $toolbar->renderView(); 

的排序,每頁顯示項目,項目總展示approprietly,但尋呼機只是沒有渲染..任何人都知道我做錯了嗎?任何幫助將不勝感激。

回答

2

你有兩個問題,我可以馬上當場

  1. 有沒有這樣的塊類型catalog/html_pager(你的意思是page/html_pager

  2. 工具欄塊的getPagerHtml方法查找名爲子塊product_list_toolbar_pager。您尚未插入,附加或設置此孩子。像這樣的東西

    $pager = $layout->createBlock('page/html_pager'); 
    

實例化尋呼機塊,並將其與

$toolbar->setChild('product_list_toolbar_pager', $pager); 

插入到工具欄,你可以有更好的效果。

此外,尋呼機模板本身(frontend/base/default/template/page/html/pager.phtml)包含的代碼將抑制頁面,如果只有一頁結果。在if子句中放一些調試。

<!-- File: app/design/frontend/base/default/template/page/html/pager.phtml --> 
<?php if($this->getLastPageNum()>1): ?> 

確保您不會遇到小類別列表。

+0

非常感謝!現在正在工作。我使用的主題似乎已經有了<?php if($ this-> getLastPageNum()> 1):?>大小寫,但是感謝您指出了這一點。 – SimCity 2013-04-11 17:54:34