1

我有几行 PHP 代码会阻止某些属性过滤器显示在分层导航块中(即价格和类别)。这样我需要添加所有我不想手动显示的过滤器,这需要很多时间并且不是最佳解决方案。

我想要的是要显示的过滤器属性“价格”和“类别”,如果过滤器名称不同,则根本不显示该过滤器。这样,价格和类别过滤器始终会显示,而其他过滤器则被隐藏。我不必手动添加我不想显示在列表中的所有过滤器。

我的问题是,需要在 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; ?>
4

1 回答 1

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; ?>

希望它也对你有用。

于 2012-07-19T13:40:18.663 回答