工具栏自定义位置
Toolbar custom position
我在将 magento 从 1.7 更新到 1.9 后遇到问题,自定义工具栏未显示。我有一个工具栏的自定义位置,它应该出现在面包屑块中。
local.xml
代码
<catalog_category_layered>
<reference name="breadcrumbs">
<block type="catalog/product_list" name="toolbar_only" template="catalog/product/list/toolbar_only.phtml">
<block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml"></block>
<action method="setToolbarBlockName">
<name>product_list_toolbar</name>
</action>
</block>
</reference>
</catalog_category_layered>
<catalog_category_default>
<reference name="breadcrumbs">
<block type="catalog/product_list" name="toolbar_only" template="catalog/product/list/toolbar_only.phtml">
<block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml"></block>
<action method="setToolbarBlockName">
<name>product_list_toolbar</name>
</action>
</block>
</reference>
</catalog_category_default>
在breadcrumbs.phtml<?php echo $this->getChildHtml('toolbar_only'); ?>
在 toolbar_only.phtml getToolbarHtml() ?> var_dump return 空字符串中。
我尝试了另一种方法来输出工具栏块
<?php
// lets get the toolbar block
$toolbar = $this->getChild('product_list')->getToolbarBlock();
// add the product collection
$toolbar->setCollection($this->getChild('product_list')->getLoadedProductCollection());
$toolbar->toHtml();
?>
但它也是 return 空字符串。
在自定义位置输出工具栏的正确方法是什么?谢谢
主要问题出在扩展程序 Sugarcode_Bestsellersort 中,因此在 xml 中禁用了它,我得到了快乐。现在完全有效的答案。
local.xml
<catalog_category_layered>
<reference name="breadcrumbs">
<block type="catalog/product_list" name="toolbar_only" template="catalog/product/list/toolbar_only.phtml">
<block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml"></block>
<action method="setToolbarBlockName">
<name>product_list_toolbar</name>
</action>
</block>
</reference>
</catalog_category_layered>
<catalog_category_default>
<reference name="breadcrumbs">
<block type="catalog/product_list" name="toolbar_only" template="catalog/product/list/toolbar_only.phtml">
<block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml"></block>
<action method="setToolbarBlockName">
<name>product_list_toolbar</name>
</action>
</block>
</reference>
</catalog_category_default>
toolbar_only.phtml
<?php echo $this->getToolbarHtml() ?>
breadcrumbs.phtml
<?php echo $this->getChildHtml('toolbar_only'); ?>
我在将 magento 从 1.7 更新到 1.9 后遇到问题,自定义工具栏未显示。我有一个工具栏的自定义位置,它应该出现在面包屑块中。 local.xml
代码<catalog_category_layered>
<reference name="breadcrumbs">
<block type="catalog/product_list" name="toolbar_only" template="catalog/product/list/toolbar_only.phtml">
<block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml"></block>
<action method="setToolbarBlockName">
<name>product_list_toolbar</name>
</action>
</block>
</reference>
</catalog_category_layered>
<catalog_category_default>
<reference name="breadcrumbs">
<block type="catalog/product_list" name="toolbar_only" template="catalog/product/list/toolbar_only.phtml">
<block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml"></block>
<action method="setToolbarBlockName">
<name>product_list_toolbar</name>
</action>
</block>
</reference>
</catalog_category_default>
在breadcrumbs.phtml<?php echo $this->getChildHtml('toolbar_only'); ?>
在 toolbar_only.phtml getToolbarHtml() ?> var_dump return 空字符串中。
我尝试了另一种方法来输出工具栏块
<?php
// lets get the toolbar block
$toolbar = $this->getChild('product_list')->getToolbarBlock();
// add the product collection
$toolbar->setCollection($this->getChild('product_list')->getLoadedProductCollection());
$toolbar->toHtml();
?>
但它也是 return 空字符串。 在自定义位置输出工具栏的正确方法是什么?谢谢
主要问题出在扩展程序 Sugarcode_Bestsellersort 中,因此在 xml 中禁用了它,我得到了快乐。现在完全有效的答案。
local.xml
<catalog_category_layered>
<reference name="breadcrumbs">
<block type="catalog/product_list" name="toolbar_only" template="catalog/product/list/toolbar_only.phtml">
<block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml"></block>
<action method="setToolbarBlockName">
<name>product_list_toolbar</name>
</action>
</block>
</reference>
</catalog_category_layered>
<catalog_category_default>
<reference name="breadcrumbs">
<block type="catalog/product_list" name="toolbar_only" template="catalog/product/list/toolbar_only.phtml">
<block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml"></block>
<action method="setToolbarBlockName">
<name>product_list_toolbar</name>
</action>
</block>
</reference>
</catalog_category_default>
toolbar_only.phtml
<?php echo $this->getToolbarHtml() ?>
breadcrumbs.phtml
<?php echo $this->getChildHtml('toolbar_only'); ?>