首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Magento中的产品页面上的选择性HTML块?

Magento中的产品页面上的选择性HTML块?
EN

Stack Overflow用户
提问于 2012-05-13 22:31:17
回答 2查看 606关注 0票数 0

我想在Magento中显示特定类别的所有产品页面上的特定HTML块。

例如:

类别-用于以下类别的服装、手机、gps HTML块: dress.phtml、phone.phtml、gps.phtml

在服装产品的所有页面上,都显示了dress.phtml -服装尺码图表,颜色图表,如何洗涤等。

在手机产品的所有页面上,都会显示phone.phtml -电池护理,我们如何包装手机,等等。

在全球定位系统产品的所有页面上,都会显示gps.phtml -全球定位系统的用途、安装等。

你明白了吧。我如何在Magento中做到这一点?如何按产品类别调用目录/产品/视图.phtml中不同的PHTML文件(dress.phtml、phone.phtml或gps.phtml)?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-14 02:26:11

只需对您的目录/product/view.phtml文件和自定义主题的布局/local.xml文件进行一些修改,就可以轻松实现这一点。

让我们从修改local.xml开始。打开它,输入/复制并粘贴以下代码:

代码语言:javascript
复制
<catalog_product_view>
    <reference name="content">
        <reference name="product.info">
            <block type="catalog/product_view" name="product.dress" as="productDress" template="wherever/you/keep/dress.phtml" />
            <block type="catalog/product_view" name="product.phone" as="productPhone" template="wherever/you/keep/phone.phtml" />
            <block type="catalog/product_view" name="product.gps" as="productGps" template="wherever/you/keep/gps.phtml" />
        </reference>
    </reference>
</catalog_product_view>

我们通过修改local.xml所做的实质上是使您的新模板可用于product.info块中的目录/产品/view.phtml文件。块类型是*catalog/product_view*,因此我们可以访问catalog/product/view.phtml中所有相同的信息和方法。然后,我们可以用view.phtml编写一些代码来决定输出哪个块

代码语言:javascript
复制
$_currentCategory = Mage::registry('current_category');
if ($_currentCategory->getId() == id of dress category) {
    echo $this->getChildHtml('productDress');
} elseif ($_currentCategory->getId() == id of phone category) {
    echo $this->getChildHtml('productPhone');
} elseif ($_currentCategory->getId() == id of gps category) {
    echo $this->getChildHtml('productGps');
}

我们在这里所做的就是检查产品的当前类别并输出相关的块。当然,您需要用适当的类别ID值替换“___类别的ID”。如果你在你想要找到的某个类别的孩子类别中,这将不会起作用。例如,如果您的结构如下: Phone > Accessories > Phone Charger Product,我们将只在Phone Charger Product中找到最新的类别(Accessories)。还有其他方法可以找到分散在谷歌和StackOverflow上的父类别。

希望这能有所帮助。不幸的是,我没有办法测试这段代码,但它应该可以工作。祝好运!

票数 1
EN

Stack Overflow用户

发布于 2012-05-14 02:34:18

$ product ->getCategoryIds()可以为您提供产品所属的类别ids。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10572537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档