添加产品视图附属选项卡Magento Enterprise v1.12

时间:2012-08-28 11:36:41

标签: magento

我正在使用Magento Enterprise 1.12,并希望将自定义标签(投放,视频)添加到产品视图页面,其中包含从产品属性指定的内容。初始化选项卡的脚本如下:

//<![CDATA[
    var collateralTabs = new Enterprise.Tabs('collateral-tabs');
        Event.observe(window, 'load', function() {
        collateralTabs.select();
    });
//]]>

除了创建产品属性之外,我不确定从哪里开始,所以任何帮助都会非常感激!

亲切的问候

2 个答案:

答案 0 :(得分:4)

Enterprise中的选项卡的处理方式与社区不同,这可能会导致尝试查找解决方案时遇到问题。在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>Details</value></action>
</block>

所以要添加另一个,添加另一个块:

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

然后使用您希望选项卡包含的任何内容创建模板文件catalog / product / view / video.phtml。

虽然这会添加一个标签就好了,如果你想以正确的Magento方式进行,那么应该使用你主题的local.xml文件中的引用来添加:

<catalog_product_view translate="label">
<reference name="product.info">
    <block type="catalog/product_view_description" name="product.video" as="video" template="catalog/product/view/video.phtml" after="product.attributes">
    <action method="addToParentGroup"><group>detailed_info</group></action>
        <action method="addToParentGroup"><group>detailed_info</group></action>
        <action method="setTitle" translate="value"><value>Video</value></action>
    </block>
</reference>
</catalog_product_view>

答案 1 :(得分:2)

我不确定,但我认为您看到以下网址非常有用: -

Magento Enterprise标签 - 如何选择链接中的特定标签?

Magento Enterprise Tabs - How to select specific tab in link?

试一下,但请先查看上面的网址: -

我会考虑修改课程的启动方式。

initialize: function (container) {
    this.container = $(container);
    this.container.addClassName('tab-list');
    this.tabs = this.container.select('dt.tab');
// change starts here //
    var hashTab = $(window.location.hash.slice(1));
    this.activeTab = ( this.tabs.include(hashTab) ? hashTab : this.tabs.first());
// change ends here //
    this.tabs.first().addClassName('first');
    this.tabs.last().addClassName('last');
    this.onTabClick = this.handleTabClick.bindAsEventListener(this);
    for (var i = 0, l = this.tabs.length; i < l; i ++) {
        this.tabs[i].observe('click', this.onTabClick);
    }
    this.select();
}

在这里,我只更改了初始选项卡的选择方式。它会检查一个通常称为哈希的URL片段,如果它标识了预选的其中一个选项卡。作为奖励,如果可能,浏览器也会滚动到该元素。

然后,您只需将标签的ID附加到URL即可。例如,您可以通过;

生成URL
$productUrl = Mage::getUrl('catalog/product/view', array(
    'id' => $productId,
    '_fragment' => 'tab_id',
));