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中。太棒了!我试过了,当然错了!:)再次感谢