Magento:隐藏某些类别的属性

时间:2014-10-06 15:51:38

标签: php magento

我想隐藏某些类别的类别页面中的某些属性,例如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();
      }?>

任何人都可以指出我正确的方向

1 个答案:

答案 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时,您想要显示属性