magento在产品列表页面

时间:2015-08-09 08:43:03

标签: magento

我需要在产品详情页面中添加CMS页面,仅适用于特定的sub-sub-category = 35。我尝试的方法是编辑view.phtml

echo $this->getLayout()->createBlock('cms/block')->setBlockId('adminCMSid')->toHtml()

但是如果当前产品的Sub-Sub-Category等于35,我需要在view.phtml中进行比较。 有人可以帮助我如何获得当前的子子类别ID并解决问题吗?

2 个答案:

答案 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; ?>