我有一个扩展,它使用产品列表块按属性显示产品网格过滤器(扩展名为属性信息页面).
在此扩展块的"_prepareLayout"函数中,扩展使用以下代码设置页面的标题和描述:
$head = $this->getLayout()->getBlock('head');
.
.
.
$head->setTitle($title);
head->setDescription($des);
Run Code Online (Sandbox Code Playgroud)
我想以这种格式向标题和描述添加文本:
$page_info = "Page A of B for ";
$title = $page_info . title;
$items_info = "Listings X-Y (out of Z) ";
$des = items_info . $des;
Run Code Online (Sandbox Code Playgroud)
我已经尝试过这个代码,以获取当前页面,最后一页,数字和项目等等:
$html_pager = Mage::getBlockSingleton('page/html_pager');
$html_pager->setCollection($product_collection);
$limit = Mage::getSingleton('core/app')->getRequest()->getParam('limit');
if(empty($limit))
{
$limit = 8;
}
$html_pager->setLimit($limit);
$LastPageNumber = $html_pager->getLastPageNum();
$current_page = $html_pager->getCurrentPage();
$page_info = "";
if($current_page > 1)
{
$page_info = "Page " . $current_page . " of $LastPageNumber for ";
}
$FirstNum = $html_pager->getFirstNum();
$LastNum = $html_pager->getLastNum();
$TotalNum = $html_pager->getTotalNum();
$items_info = "Listings " . $FirstNum . "-" . $LastNum . " (out of ". $TotalNum . ") ";
Run Code Online (Sandbox Code Playgroud)
代码为我提供了正确的信息,但它在产品网格中引起了问题 - 它总是在产品网格中显示10个产品(无论我在"每页显示"中选择什么).
任何想法如何在不破坏网格功能的情况下获取信息?
我发现了一个适合我的解决方案:
$product_collection = clone Mage::getSingleton('catalog/layer')->getProductCollection();
$total = count($product_collection);
$current_page = Mage::getBlockSingleton('page/html_pager')->getCurrentPage();
$limit = Mage::getSingleton('core/app')->getRequest()->getParam('limit');
if(empty($limit))
{
$limit = Mage::getStoreConfig('catalog/frontend/grid_per_page');
}
$pages = $total / $limit;
$pages = ceil($pages);
if($current_page > 1)
{
$page_info = "Page " . $current_page . " of $pages for ";
}
$FirstNum = $limit*($current_page-1)+1;
if($current_page == $pages)
{
$LastNum = $total;
}
else
{
$LastNum = $limit + ($FirstNum - 1);
}
$items_info = "Listings " . $FirstNum . "-" . $LastNum . " (out of ". $total . ") ";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5208 次 |
| 最近记录: |