我有这个代码段,用于显示内容,具体取决于产品属于哪个顶级类别:
<?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可以帮助一个可怜的灵魂吗?! 提前谢谢。
答案 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位置右转。