法师:隐藏某些类别的属性


Magento: hide attributes from certain categories

我想在类别页面中隐藏某些类别的属性,例如21和24。我尝试了or语句,但我想它不在正确的位置,因为它忽略了两者:

     <?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();
      }?>

有人能给我指正确的方向吗?

if(($category->getId()!=21) || ($category->getId()!=24))  {

让我们看看这里发生了什么:

如果ID为21,则"If子句"不会传递第一个表达式(false),但ID为!=24,因此它通过第二个(真)。由于PHP中的"||"不是"exclusive or",它会传递整个if(false或true=true),并且将打印您的属性。

如果ID是24,则子句的第一个通过(true),因此第二个完全忽略。(true或任何情况始终为true)-将打印属性。

这只是一个"逻辑"问题——你的一个"表达式"总是真的,因为一个数字不能同时是21和24,这会导致你的if子句跳过;)

解决方案提示:您想要的是在ID不是21 AND不是24 时显示属性