1

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

我知道如何在view.phtml模板中创建选项卡,但我怎样才能做到:

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

我认为通过 XML 布局更新可以删除和附加选项卡,但是如何将块附加到布局中?

4

1 回答 1

1

概述

如果我正确理解您的问题,您希望在查看您的两个特殊类别(类别 1 和类别 2)下的产品时在产品详细信息页面上添加一个自定义选项卡。

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

一个可能的解决方案

如果您能够将两个静态块中的内容改为两个模板文件,则可以使用类别本身的布局 XML 更新来做到这一点。我将概述您将在这种情况下使用的过程:

  1. 在 Magento Admin 中导航到目录 > 类别 > 管理类别,然后单击树中的 category1。
  2. 打开定制设计选项卡。
  3. 将“应用于产品”设置为
  4. 现在为该类别的产品添加布局更新,该产品应该在“自定义布局更新”下具有自定义选项卡:

<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>

它应该看起来像这样: 在此处输入图像描述

然后对 category2 重复相同的步骤。这个解决方案的关键是让你的两个模板文件block1.phtml进入block2.phtml路径:app/design/frontend/base/default/template/catalog/product/view/.

于 2015-05-15T18:57:52.800 回答