【问题标题】:How can I add a new tab in product page in magento如何在 magento 的产品页面中添加新标签
【发布时间】:2013-07-04 12:21:41
【问题描述】:

我的产品页面中的默认选项卡是 Product DescriptionReviewsTags(出于测试目的已更改为 -> Hello there)。所以我设法更改了其中一个选项卡的默认名称,但我似乎不记得我在哪里进行了更改。此外,我认为可能有一种更“更清洁”的方式来实现这一目标。

无论实现方式如何,我都想知道如何添加一个带有自定义产品属性的新自定义选项卡。

您可以找到我的示例产品页面here.

【问题讨论】:

    标签: magento tabs product


    【解决方案1】:

    例如,如果您想添加提供主要描述、次要描述的选项卡,然后添加另一个具有特定车辆装配数据的选项卡。

    这很容易。首先,您需要为新选项卡创建 phtml 文件。让它成为 info.phtml。然后将 tab init 部分添加到 xml 文件中(如文章中所述):

    <action method="addTab" module="catalog" translate="title">
        <alias>info</alias>
        <title>Info</title>
        <block>catalog/product_view_attributes</block>
        <template>catalog/product/view/info.phtml</template>
    </action>
    

    在你需要调用的phtml文件里面:

    <?php $product = $this->getProduct() ?>
    

    现在您可以在此文件中输出任何产品的属性: 说明:

    <?php echo $product->getDescription() ?>
    

    特价:

    <?php echo $product->getSpecialPrice() ?>
    

    如果你想详细阅读可以去 throw link

    【讨论】:

    • 好的,但是如果属性为空会发生什么 - 为空。无论如何都会出现标签。
    • 是的,它会显示为空标签,但您也可以在空的当前标签中设置一些消息。
    【解决方案2】:

    这里是关于如何在产品页面上创建附加标签的一个很好的解释:http://www.atwix.com/magento/adding-tabs-on-the-product-page/

    要在前端重命名某些东西,最简单的方法是在“系统 -> 配置 -> 高级 -> 开发人员 -> 翻译内联”中将“为前端启用”设置为“是”,然后转到前端并翻译你的任何内容想要,包括选项卡名称。

    PS:内联翻译在 Chrome 中不起作用。

    【讨论】:

      【解决方案3】:

      你可以检查你的 app\design\frontend[你的项目]\default\layout\catalog.xml

      在 magento 1.9 中你可以看到这样的 xml

       <block type="catalog/product_view_description" name="product.description" as="description" template="catalog/product/view/description.phtml">
                      <action method="addToParentGroup"><group>detailed_info</group></action>
                      <action method="setTitle" translate="value"><value>Description</value></action>
                  </block>
      

      你可以像这样添加另一个

      <block type="catalog/product_view_description" name="product.new.tab" as="new.tab" template="catalog/product/view/description.phtml">
                      <action method="addToParentGroup"><group>detailed_info</group></action>
                      <action method="setTitle" translate="value"><value>New Tab</value></action>
                  </block>
      

      记住这一点

      template="catalog/product/view/description.phtml"
      

      它是您在 app\design\frontend[your project]\default\template 上的 html 视图的位置

      【讨论】:

        【解决方案4】:

        您可以检查您的 app\design\frontend[your project]\default\layout\catalog.xml 并找到这一行。

        <block type="catalog/product_view_description" name="product.description" as="description" template="catalog/product/view/description.phtml">
                    <action method="addToParentGroup"><group>detailed_info</group></action>
                    <action method="setTitle" translate="value"><value>Description</value></action>
                </block>
        

        在这条线下。添加此代码

         <block type="catalog/product_view_attributes" name="product.sizes" as="sizes" template="catalog/product/view/sizes.phtml">
        <action method="addToParentGroup"><group>detailed_info</group></action>
        <action method="setTitle" translate="value"><value>Store Locator</value></action>
        

        并创建您自己的 size.phtml 文件并保存目录/产品/视图/sizes.phtml 并添加此代码。

        <?php $_product = $this->getProduct();
        $attribute = $_product->getResource()->getAttribute('store_locator');
        if ( is_object($attribute) ) {
        $identifier = $_product->getData("store_locator");
        }?>
        <?php if ($_sizeBlock = Mage::app()->getLayout()->createBlock('cms/block')->setBlockId($identifier)): ?>
        <div class="std">
            <?php echo $_sizeBlock->toHtml() ?>
        </div>
        <?php endif; ?>
        

        清除缓存并重新加载您的浏览器现在终于看到您自己的选项卡但是您的代码还没有看到,因为您需要创建属性以及要查看哪个静态块将标识符名称放入属性中。

        【讨论】:

          【解决方案5】:

          将你的自定义标签添加到magento 不是很困难需要玩属性,块和phtml你可以得到一个简短的描述

          here

          希望这会有所帮助。

          【讨论】:

          • 资源链接很有帮助,但请在您的答案中包含它有帮助的原因以及任何示例代码。如果链接失效,您可能会因为答案变得多余而被否决或删除。
          • 链接最终死掉了!
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-01-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多