我有一些PHP代码行,将防止某些属性过滤器显示在分层导航块(即价格和类别)。通过这种方式,我需要添加我不想手动显示的所有过滤器,这需要花费大量时间,而且不是最好的解决方案。
我想要的是显示过滤器属性"Price“和"Category”,如果过滤器名称不同,则根本不显示该过滤器。这样,价格和类别筛选器始终显示,而其他筛选器被隐藏。我不需要手动添加我不想在列表中显示的所有过滤器。
我的问题是,需要在PHP代码中进行哪些更改才能使其以我刚才描述的方式工作?
<?php $_filters = $this->getFilters() ?>
<?php foreach ($_filters as $_filter): ?>
<?php if($_filter->getItemsCount()): ?>
<?php if($_filter->getName() != "Price" AND $_filter->getName() != "Category"): ?>
<dt><?php echo $this->__($_filter->getName()) ?></dt>
<dd><?php echo $_filter->getHtml() ?></dd>
<?php endif; ?>
<?php endif; ?>
<?php endforeach; ?>发布于 2012-07-19 21:40:19
啊我明白了。有趣的是,昨天我正在做一些几乎相同的东西,这对我来说是有效的(我的意思是对IF语句的更改);
<?php foreach ($_filters as $_filter): ?>
<?php if (Mage::helper('catalog')->__($_filter->getName()) == 'Price' || Mage::helper('catalog')->__($_filter->getName()) == 'Category'): ?>
<dt><?php echo Mage::helper('catalog')->__($_filter->getName()) ?></dt>
<dd><?php echo $_filter->getHtml() ?></dd>
<?php endif; ?>
<?php endforeach; ?>希望它也能为你工作。
https://stackoverflow.com/questions/11561430
复制相似问题