magento在产品列表页面中获取子类别ID

magento在产品列表页面中获取子类别ID,magento,Magento,我只需要为特定的子类别=35在产品列表页面中添加CMS页面。我尝试的方法是编辑视图.phtml echo $this->getLayout()->createBlock('cms/block')->setBlockId('adminCMSid')->toHtml() 但是如果当前产品的子类别等于35,我需要比较in view.phtml。 有人能帮助我如何获取当前子类别ID并解决问题吗? <?php $_categories = $this->getCurr

我只需要为特定的
子类别=35
在产品列表页面中添加CMS页面。我尝试的方法是编辑
视图.phtml

echo $this->getLayout()->createBlock('cms/block')->setBlockId('adminCMSid')->toHtml()
但是如果当前产品的子类别等于35,我需要比较in view.phtml。 有人能帮助我如何获取当前子类别ID并解决问题吗?


<?php $_categories = $this->getCurrentChildCategories() ?>

<?php foreach ($_categories as $_category): ?>
    <?php if ($_category->getId() == 35) {
        //Subcategory id equals 35
    }?>
<?php endforeach; ?>

简短回答:

在目录/视图.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
        }
    }
?>
刷新产品页面,然后进入var/logs文件夹,您将找到finddata.log文件。 在那里,您可以看到该产品的类别以及可以使用的阵列详细信息

然后你可以这样做:

$_categories = $_product->getCategoryIds(); 
var_dump($_categories);

这将为您提供给定产品的类别数组。这样更容易测试和找到方法。

我没有让它与$this->getCurrentChildCategories()一起使用。查看此内容时,您必须在catalog/product/list.phtml中才能使用它。这是克劳迪乌在上面发布的另一种方法,你会发现万磁王有很多很棒的方法,希望这能在将来帮助其他人:-)
$_categories = $_product->getCategoryIds(); 
var_dump($_categories);