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

Php 如何根据类别ID在产品视图上显示内容?,php,magento,Php,Magento,我有一段代码片段,用于根据产品所属的顶级类别显示内容: <?php $categoryIds = $_product->getCategoryIds(); if($categoryIds[0]!= '42'):?> CONTENT HERE... <?php endif; ?> 内容在这里。。。 这将放在Magento 1.6.1社区版目录/产品下的list.phtml和view.phtml中。此代码适用于一个ID,但当我尝试添加时: <?php

我有一段代码片段,用于根据产品所属的顶级类别显示内容:

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

内容在这里。。。
这将放在Magento 1.6.1社区版目录/产品下的list.phtml和view.phtml中。此代码适用于一个ID,但当我尝试添加时:

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

内容在这里。。。
它不再工作了。你们中的一些法师能帮助一个可怜的灵魂吗?!
提前谢谢。

您可以尝试通过

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

它比固定位置好。因为如果你的函数按顺序返回43和42,你就不能正确地到达位置0和1

Guerra以前的帖子几乎是正确的。他只是在逻辑上弄错了一点——你需要的是逻辑,而不是逻辑:

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

否则,对于42和43个类别,案例都将返回true(因为或)。

能否尝试将
|
更改为
&&
?否则,你将不得不详细说明你所说的“不再工作”是什么意思……我所说的“不工作”是指什么也没有发生。即使我属于“42”或“43”类,内容仍在显示。我马上就去试试!谢谢试试看!仍然显示类别“43”的内容:(哦,等等-您正在访问
$categoryIds
中的两个单独条目-对吗?您正在将
$categoryIds[0]
与42进行比较,将
$categoryIds[1]
与43进行比较。是吗?以前试过这个。不适合我。在cat 42和43中,HTML仍然填充在DOM中。太棒了!我试过了,当然错了!:)再次感谢