如何根据类别ID在产品视图上显示内容?

时间:2012-09-10 14:04:57

标签: php magento

我有这个代码段,用于显示内容,具体取决于产品属于哪个顶级类别:

<?php $categoryIds = $_product->getCategoryIds(); if($categoryIds[0]!= '42'):?>
   CONTENT HERE...
<?php endif; ?>

这是放在Magento 1.6.1 Community Edition中catalog / product下的list.phtml和view.phtml中。此代码适用于一个ID,但是当我尝试添加时:

<?php $categoryIds = $_product->getCategoryIds(); if($categoryIds[0]!= '42' || $categoryIds[1]!= '43'):?>
   CONTENT HERE...
<?php endif; ?>

它不再起作用了。你们中的一些Magento Wizards可以帮助一个可怜的灵魂吗?! 提前谢谢。

2 个答案:

答案 0 :(得分:1)

来自 Guerra 的上一篇文章几乎是正确的。他只是用逻辑搞砸了一点 - 你需要逻辑AND而不是OR:

if(!in_array('42',$categoryIds) && !in_array('43',$categoryIds))

否则案件将在42和43类别中返回true(因为OR)。

答案 1 :(得分:0)

您可以尝试通过

更改您的if语句
if(!in_array('42',$categoryIds) || !in_array('43',$categoryIds))

比固定位置好。如果您的函数返回43和42,则无法在0和1位置右转。