代码之家  ›  专栏  ›  技术社区  ›  Moon

如何在产品视图页面中显示类别自定义设计布局?

  •  2
  • Moon  · 技术社区  · 16 年前

    假设我有两类,A和B。

    当我访问category A和B时,他们使用我在管理面板上设置的自己的布局来显示产品。当我单击产品列表页上的某个项目时,产品视图页不使用自定义设计。

    如何强制产品视图页使用其类别的自定义设计?

    4 回复  |  直到 16 年前
        1
  •  6
  •   Greg Demetrick    14 年前

    在当前版本的Magento中,有另一种方法可以在不更改核心代码的情况下实现这一点。假设您有一个用于类别的产品显示的自定义模板。在“管理”中,转到“目录”->“类别”->“管理类别”,然后选择要将修改后的产品模板应用于的类别。将“应用于产品”更改为“是”,并将以下内容放入自定义布局更新中;

    <reference name="product.info">
      <action method="setTemplate"> <template>catalog/product/NEW_VIEW.phtml</template></action>
    </reference>
    

        2
  •  4
  •   Josua Marcel C    14 年前

    我自己找到了答案。

    1. 产品控制器位于/app/code/Mage/Catalog/controllers中/产品控制器.php

    2. 添加 将以下代码导入\u initProductLayout方法

      $update->addHandle('CATEGORY.'.$product->getCategoryId());

    3. 正常开放 目录布局xml位于/app/design/frontend/default/default/layout中/目录.xml

    4. 添加

    <CATEGORY_"your category id">
        <reference name="root">
      <action method="setTemplate"><template>yourtemplate here</template></action>
        </reference>
    </CATEGORY_"your category id">
    
        3
  •  0
  •   Jonathan Day    16 年前

    您可以应用“产品目录”>“管理产品”>“设计”上的自定义设计更新,然后根据类别应用

        4
  •  0
  •   Henk Valk    13 年前

    使用下拉类型和名称属性代码“which\u category”创建属性。在“选项”选项卡上填写“类别a”和“类别b”

    比方说:view \u cat \u a.phtml和view \u cat \u b.phtml

    您可以根据设计特定类别的产品视图页面视图.phtml.

    <?php 
    $_helper = $this->helper('catalog/output'); 
    $_product = $this->getProduct();
        if ( $_product->getAttributeText('which_category') == category_a) {
            include('view_cat_a.phtml');
        } else {
            include('view_cat_b.phtml');
        }
    

    创建产品时,可以在属性上选择类别(在属性集合中定义它们)

    推荐文章