1

製品リストの一番下にページャーだけを挿入するにはどうすればよいですか?

私が欲しい製品リストの一番上にある「関連性/ベストセラー/などで並べ替え」と「アイテムを並べ替え:テーブル/リスト」で、これができました。

製品リストの一番下にページャーだけが欲しいので、次のコードを list.phtml に挿入しようとしました

<?php echo $this->getPagerHtml() ?>

しかし、この php コードは製品リストでは直接機能しません。

ページャーを製品リストで動作させ、下部に表示するにはどうすればよいですか?

4

3 に答える 3

2

こんにちは、 app/design/frontend/(base または default)/(default または yourtheme)/template/catalog/product/list/toolbar-bottom.phtml というコードで新しい 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 または default)/(default または yourtheme)/template/catalog/product/list.phtmlの一番下に呼び出します

getToolbarBlock()->setTemplate('catalog/product/list/toolbar-bottom.phtml')->toHtml();

于 2012-12-18T06:02:00.493 に答える
1

これは 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て、必要なセクションを表示してみてください

于 2012-12-18T19:37:08.800 に答える
0

これがあなたの望むものだと思います。

$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

于 2014-11-18T20:13:39.470 に答える