产品列表中的 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-&gt;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 寻呼机的主要内容,如果未能解决你的问题,请参考以下文章

如何发送我的 sql 以使用 magento 寻呼机

将寻呼机放在顶部和底部

Magento:在产品页面中将产品选项显示为两列中的列表元素

将“添加到购物车”按钮重定向到 Magento 中的不同自定义页面/在 Magento 的产品页面中添加新按钮

导航中的 Magento 类别和产品 - 子项

如何根据Magento可配置产品中的不同属性集更改产品图像?