根据类别将自定义选项卡添加到Magento产品详细信息页面

时间:2015-05-15 10:57:10

标签: php magento magento-layout-xml

在我们的Magento商店,我们提供两种产品,每种产品都有自己的根类别。我想在产品详细信息页面上添加CMS静态块作为自定义选项卡,这取决于产品所属的类别。

我知道如何在view.phtml模板中创建标签,但我该如何制作标签:

  • 第1区出现在根第1类
  • 下的产品详情页面上
  • 第2个区块出现在root 类别2
  • 下的产品详细信息页面上

我认为使用XML布局更新可以删除和追加标签,但如何将块附加到布局?

1 个答案:

答案 0 :(得分:1)

概述

如果我正确理解您的问题,您需要在两个特殊类别(category1和category2)下查看产品时在产品详细信息页面上添加自定义标签。

产品详细信息页面上的标签属于catalog/product_view_tabs类型,通常会映射到班级Mage_Catalog_Block_Product_View_Tabs。此块确实提供了一种通过其addTab()方法添加新选项卡的方法,但似乎此方法假定将使用模板,但遗憾的是,此方法阻止使用CMS静态块。

可能的解决方案

如果您能够将两个静态块中的内容改为两个模板文件,则可以使用类别本身的布局XML更新来完成此操作。我将概述您在此方案中使用的过程:

  1. 导航至 目录>分类>在Magento Admin中管理类别 ,然后单击树中的category1。
  2. 打开 自定义设计 标签。
  3. 将“应用于产品”设置为
  4. 现在为“自定义布局更新”下应该包含自定义标签的该类别产品添加布局更新:
  5. <reference name="content">
        <reference name="product.info.tabs">
            <action method="addTab" translate="title">
                <alias>block1</alias>
                <title>Block 1</title>
                <block>core/template</block>
                <template>catalog/product/view/block1.phtml</template>
            </action>
        </reference>
    </reference>
    

    看起来应该是这样的: enter image description here

    然后重复类别2的相同步骤。此解决方案的关键是将两个模板文件block1.phtmlblock2.phtml放入路径:app/design/frontend/base/default/template/catalog/product/view/