我想隐藏某些类别的类别页面中的某些属性,例如21和24.我尝试了或者语句,但我猜它不在正确的位置,因为它忽略了两者:
<?php $category = Mage::getModel('catalog/layer')->getCurrentCategory();
if(($category->getId()!=21) || ($category->getId()!=24)) { ?>
<strong>Capacity:</strong> <?php
echo $_product->getCapacity();
?>
<br> <strong>Graduations:</strong> <?php
echo $_product->getGraduations();
}?>
任何人都可以指出我正确的方向
答案 0 :(得分:0)
if(($category->getId()!=21) || ($category->getId()!=24)) {
让我们看看这里发生了什么:
如果ID为21,则“if子句”不传递第一个表达式(false) - 但ID为!= 24,因此它传递第二个表达式(true)。自“||”在PHP中不是“独占或”它传递整个if(false或true = true)并且您的属性将被打印。
如果ID为24,则第一个子句通过(true),因此第二个被完全忽略。 (true或任何内容始终为true) - 将打印属性。
这只是一个“逻辑”问题 - 你的一个“表达式”总是正确的,因为数字不能同时是21和24,这会导致if子句跳过;)
提示解决方案:当ID不是21而不是24时,您想要显示属性