比方说,我有两个categegories,A和B.如何在产品视图页面中显示分类定制设计布局?
我设定一个使用“layout_a”上目录 - >目录分类 - >点击一个类别 - >点击定制设计标签
我设置B到使用目录中的'layout_b' - >目录类别 - >单击一个类别 - >单击自定义设计选项卡
当我访问类别A和B时,显示的产品使用我在管理面板上设置的自己的布局。当我点击产品列表页面上的一个项目时,产品视图页面不使用自定义设计。
如何执行产品视图页以使用其类别的自定义设计?
比方说,我有两个categegories,A和B.如何在产品视图页面中显示分类定制设计布局?
我设定一个使用“layout_a”上目录 - >目录分类 - >点击一个类别 - >点击定制设计标签
我设置B到使用目录中的'layout_b' - >目录类别 - >单击一个类别 - >单击自定义设计选项卡
当我访问类别A和B时,显示的产品使用我在管理面板上设置的自己的布局。当我点击产品列表页面上的一个项目时,产品视图页面不使用自定义设计。
如何执行产品视图页以使用其类别的自定义设计?
我自己找到了答案。位于/app/code/Mage/Catalog/controllers/ProductController.php
打开产物控制器添加以下代码_initProductLayout方法
$最新情况:> addHandle( '类别_' $产品 - > getCategoryId());位于/app/design/frontend/default/default/layout/catalog.xml
打开目录布局XML添加
<CATEGORY_"your category id"> <reference name="root"> <action method="setTemplate"><template>yourtemplate here</template></action> </reference> </CATEGORY_"your category id">
您可以在产品目录应用定制设计更新>管理产品>设计,然后应用按类别
这是否达到你所需要的?
差不多,但不完美。我只想按照类别应用自定义设计。如果我在产品目录 - >管理产品 - >设计上设置了自定义设计,产品将使用我设置的布局。假设我的产品属于类别A和B.如果我为产品设置了布局B,那么当客户点击类别 - >产品时,如何使其使用布局A? – Moon 2010-09-08 13:00:43
在当前版本的Magento中,有另一种方法可以在不改变内核的情况下执行此操作代码。假设您有一个自定义模板来显示某个类别的产品。在管理中,转到目录 - >分类 - >管理类别,然后选择要应用修改后的产品模板的类别。将“应用于产品”更改为“是”,并将以下内容放入“自定义布局更新”中;
<reference name="product.info">
<action method="setTemplate"> <template>catalog/product/NEW_VIEW.phtml</template></action>
</reference>
其中NEW_VIEW是您要使用的新模板的名称。如果您有子类别,您可能需要将其“使用父类别设置”设置为“是”才能使其浮动。
使用下拉类型和名称属性代码'which_category'创建一个属性。在选项选项卡填写 'category_a' 和 'category_b'
创建两个文件在/ app /设计/前端/默认/ YOURTEMP /模板/目录/产品/
让说:view_cat_a.phtml和view_cat_b 。phtml
您可以根据view.phtml设计特定类别的产品视图页面。
更改view.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');
}
当你创建一个产品,你可以选择在该属性的类别(在attribute_set定义它们)
想你的意思:“我集B使用“layout_b 'on ...“:) :) – 2010-09-08 12:55:05