这可以通过对您的catalog/product/view.phtml文件和自定义主题的layout/local.xml文件进行一些修改来轻松实现。
让我们从修改 local.xml 开始。打开它并输入/复制并粘贴以下代码:
<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块中的catalog/product/view.phtml文件。块类型是 *catalog/product_view* 因此我们可以访问catalog/product/view.phtml中可用的所有相同信息和方法。然后我们可以在 view.phtml 中写一点代码来决定输出什么块
$_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 值。如果您位于您想要查找的类别之一的子类别中,这将不起作用。例如,如果您的结构如下电话 > 配件 > 手机充电器产品,我们只会在手机充电器产品中找到最新的类别(配件)。还有其他方法可以找到分散在 Google 和 StackOverflow 中的父类别。
希望有帮助。不幸的是,我没有办法测试这段代码,但它应该可以工作。祝你好运!