我有一些PHP代码行会阻止某些属性过滤器显示在分层导航块中(即价格和类别)。这样我需要添加所有我不想手工显示的过滤器,这需要花费大量时间并且不是最佳解决方案。
我想要的是要显示的过滤器属性“Price”和“Category”,如果filtername不同,则根本不显示该过滤器。这样,始终显示价格和类别过滤器,并隐藏其他过滤器。我不必手动添加所有过滤器,我不想在列表中显示。
我的问题是,需要在PHP代码中进行哪些更改才能使其按照我刚才描述的方式工作?
提前Tahnks! <?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; ?>
答案 0 :(得分:1)
啊,我明白了。有趣的是,我昨天正在处理几乎完全相同的事情,这对我有用(我的意思是改变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; ?>
希望它也适合你。