我需要在产品详情页面中添加CMS页面,仅适用于特定的sub-sub-category = 35
。我尝试的方法是编辑view.phtml
。
echo $this->getLayout()->createBlock('cms/block')->setBlockId('adminCMSid')->toHtml()
但是如果当前产品的Sub-Sub-Category等于35,我需要在view.phtml中进行比较。 有人可以帮助我如何获得当前的子子类别ID并解决问题吗?
答案 0 :(得分:2)
简答:
catalog/view.phtml
中的:
<?php
$_categories = $_product->getCategoryIds();
foreach($_categories as $category){
if($category == 35){
echo $this->getLayout()->createBlock('cms/block')->setBlockId('adminCMSid')->toHtml();
break; //stop the loop
}
}
?>
答案很长:
如果要查找模板文件中当前可用的数据,例如view.phtml
$_product
中的数据,可以插入:
<?php Mage::log(print_r($_product->debug(), true), null, 'finddata.log', true); ?>
刷新产品页面,然后进入var / logs文件夹,您将找到finddata.log文件。 在那里,您可以看到该产品的类别以及您可以使用的阵列详细信息。
然后你可以这样做:
$_categories = $_product->getCategoryIds();
var_dump($_categories);
这将为您提供该给定产品的类别数组。像这样,它更容易测试并找到你的方式。
答案 1 :(得分:0)
<?php $_categories = $this->getCurrentChildCategories() ?>
<?php foreach ($_categories as $_category): ?>
<?php if ($_category->getId() == 35) {
//Subcategory id equals 35
}?>
<?php endforeach; ?>