製品リストツールバーと製品リストの間に層状ナビゲーションブロックを移動する
-
16-10-2019 - |
質問
レイヤードナビゲーションブロックをコンテンツセクションに移動しましたが、ブロックを配置する方法がわかりません。ページの最上部または下部に表示することしかできません。製品リストの前とツールバーの後に必要です。これまでのところ、私のXMLは次のように見えます:
<reference name="content">
<block type="catalog/layer_view" name="catalog.leftnav" before="product_list" after="product_list_toolbar" template="catalog/layer/view.phtml"/>
</reference>
しかし、それは機能していないようです。助言がありますか?
ありがとう
解決
レイヤードナビゲーションがページの下部または上部にのみ表示される理由は、間違ったブロック「レベル」にブロックを追加するためです。
ブロックをブロックに追加しました content
直接の子供ブロックは2つしかありません。 category.products
と product.tooltip
. 。したがって、これらの2つのブロックの間、または下部にブロックを追加できます。
製品リストツールバーと製品リストの間で層状ナビゲーションを移動する方法
このコードをあなたに追加します レイアウトXML:
<?xml version="1.0"?>
<layout version="0.1.0">
<catalog_category_layered>
<reference name="left">
<action method="unsetChild"><alias>catalog.leftnav</alias></action>
</reference>
<reference name="product_list">
<action method="insert"><blockName>catalog.leftnav</blockName></action>
</reference>
</catalog_category_layered>
</layout>
この意志 動く 左列から層状ナビゲーションブロック コンテンツ列に クラスなどを再作成することなく。あなたは私がブロックの子としてブロックを挿入したのを見ることができます product_list
.
今すぐページに電話すると、層状ナビゲーションがまったく表示されないことがわかります。それは反対だからです content
ブロック、 product_list
ブロックはデフォルトですべての子ブロックを出力しません。テンプレートファイルでブロックを自分でエコーする必要があります。
コピー app/design/frontend/base/default/template/catalog/product/list.phtml
(別のテーマを出発点として使用する場合、ベース/デフォルトをベーステーマに置き換えます)テーマにMagentoに伝えます 出力 最初のツールバーの直後に層状ナビゲーション:
<?php if(!$_productCollection->count()): ?>
<p class="note-msg"><?php echo $this->__('There are no products matching the selection.') ?></p>
<?php else: ?>
<div class="category-products">
<?php echo $this->getToolbarHtml() ?>
<?php echo $this->getChildHtml('catalog.leftnav'); /* THIS IS THE NEW LINE */ ?>
<?php // List mode ?>
あなたはこのようなものを手に入れ、ここから続けることができます: