Я пытаюсь сделать нумерацию страниц result.phtml использование файла pager.phtml файл, создающий пользовательский блок:
echo $this->getLayout()->createBlock('page/html_pager', 'bottom.pager')->toHtml();
Но я получаю следующую ошибку:
Fatal error: Call to a member function getSize() on a non-object
В структуре по умолчанию Magento, функция $ This-> getPagerHtml () используется внутри файла toolbar.phtml:
/app/design/frontend/base/default/template/catalog/product/list/toolbar.phtml
Эта функция показывает навигацию по умолчанию страницы и toolbar.phtml файл вызывается на:
app/design/frontend/base/default/template/catalog/product/list.phtml
по функции $ This-> getToolbarHtml () и list.phtml файл вызывается на:
app/design/frontend/base/default/template/catalogsearch/result.phtml
по функции $ This-> getProductListHtml ().
Как я могу использовать функцию $ This-> getPagerHtml () (или, так или иначе, используйте нумерацию страниц) для разбивки моих результатов прямо внутри result.phtml без необходимости всех этих зависимостей?
Вы можете использовать этот код, чтобы добавить pager
на ваш result.phtml
, Вы должны предоставить коллекцию, используя setCollection
функция.
_getProductCollection()
это защищенная функция от класса Mage_CatalogSearch_Block_Result
и получает текущую коллекцию продуктов.
<?php
$layout = Mage::getSingleton('core/layout');
$pager = $layout->createBlock('page/html_pager');
$pager->setCollection($this->_getProductCollection());
echo $pager->toHtml();
?>
Других решений пока нет …