2014-10-06 84 views
1

我想隐藏在某些类别分类页面的某些属性,比如21和24隐藏属性,我试过或声明,但我想,因为它忽略了两个它不是在正确的位置:Magento的:某些类别的

 <?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
if(($category->getId()!=21) || ($category->getId()!=24)) { 

让我们看看会发生什么位置:

如果ID是21的“if从句”没有通过第一expressio n(假) - 但ID是!= 24,所以它通过第二个(真)。由于“||”在PHP中不是“独占”或者它传递整个if(false或true = true)并且您的属性将被打印。

如果ID是24,第一条项传递(真),所以,第二个是完全忽略。 (真或任何东西总是如此) - 属性将被打印。

这只是一个“逻辑”的问题 - 你的“表情”之一始终是真实的,因为一个数字,不能是21和24,同时这将导致您如果子句跳过;)

提示为解决方案:你想要的是当ID不是21,而不是24

要显示的属性