产品列表中的 Magento 寻呼机
Posted
技术标签:
【中文标题】产品列表中的 Magento 寻呼机【英文标题】:Magento Pager on product list 【发布时间】:2012-12-14 20:25:35 【问题描述】:如何只在产品列表底部插入分页器?
在我想要的产品列表顶部:“按相关性/畅销书/等排序”和“按:表格/列表排序项目”,这是我能够做到的。
在产品列表的底部我只想要寻呼机,我尝试在 list.phtml 中插入以下代码
<?php echo $this->getPagerHtml() ?>
但是这个 php 代码不能直接在产品列表上运行。
如何使寻呼机在产品列表上工作并显示在底部?
【问题讨论】:
您是否想要两种类型的寻呼机 html,一种在顶部,按功能排序,另一种在底部仅寻呼机中?我说的对吗 是的,这正是我想要的 【参考方案1】:您好,您使用以下代码创建了新的 toolbar-bottom.phtml 文件 即 app/design/frontend/(base or default)/(default or yourtheme)/template/catalog/product/list/toolbar-bottom.phtml
<?php if ($this->getCollection()->getSize()): ?>
<div class="toolbar">
<div class="pager">
<p class="amount">
<?php if ($this->getLastPageNum() > 1): ?>
<?php echo $this->__('Items %s to %s of %s total', $this->getFirstNum(), $this->getLastNum(), $this->getTotalNum()) ?>
<?php else: ?>
<strong>
<?php echo $this->__('%s Item(s)', $this->getTotalNum()) ?>
</strong>
<?php endif; ?> </p>
<div class="limiter">
<label><?php echo $this->__('Show') ?></label>
<select onchange="setLocation(this.value)">
<?php foreach ($this->getAvailableLimit() as $_key => $_limit): ?>
<option value="<?php echo $this->getLimitUrl($_key) ?>"<?php if ($this->isLimitCurrent($_key)): ?> selected="selected"
<?php endif ?>
<?php echo $_limit ?>
</option>
<?php endforeach; ?>
</select>
<?php echo $this->__('per page') ?> </div> <?php
echo
$this->getPagerHtml()
?>
</div>
</div>
<?php endif ?>
调用app/design/frontend/(base or default)/(default or yourtheme)/template/catalog/product/list.phtml
getToolbarBlock()->setTemplate('catalog/product/list/toolbar-bottom.phtml')->toHtml();
【讨论】:
这个想法帮助我使用了工具栏的特定项目。 非常感谢这段代码真的很有帮助【参考方案2】:您可以通过以下两种方式之一进行此操作。
1) 使用 CSS
<div class="category-products">
<div class='top-toolbar'><?php echo $this->getToolbarHtml() ?></div>
...
<div class='bottom-toolbar'><?php echo $this->getToolbarHtml() ?></div>
</div>
在css中
.bottom-toolbar .xyz
display:none;
2) 使用自定义模块覆盖getToolbarHtml
和
$this->getToolbarHtml('top-toolbar');
$this->getToolbarHtml('bottom-toolbar');
public function getToolbarHtml($toolbar_position)
$this->toolbar_position = $toolbar_position;
return $this->getChildHtml('toolbar');
然后尝试将$this->toolbar_position
传递给每个块以显示您需要的部分
【讨论】:
【参考方案3】:我想这就是你想要的。
$toolbar = $this->getToolbarBlock();
$toolbar->setCollection($_productCollection);
if($toolbar->getCollection()->getSize() > 0):
echo $toolbar->getPagerHtml(); //Pager
echo $toolbar-> __('Items %s to %s of %s total', $toolbar->getFirstNum(), $toolbar->getLastNum(),
$toolbar ->getTotalNum());
endif;
字体: http://mayankpatel104.blogspot.com.br/2012/07/magento-pagination-without-toolbar.html
【讨论】:
以上是关于产品列表中的 Magento 寻呼机的主要内容,如果未能解决你的问题,请参考以下文章
Magento:在产品页面中将产品选项显示为两列中的列表元素