Magento-侧栏类别过滤器,URL不是从根开始的



我有一个单个根类别,其中包含一个子类别。它设置为锚定,以启用我的左手列中的动态属性过滤器进行导航。

虽然过滤器变得良好,并且从主页上完整工作时,当我导航到CMS页面(或其他任何页面,然后是主页),URL不正确,例如

从家庭页面:

http://www.domain.com/category_name.html?price=10-20

从"联系我们"页面上:

http://www.domain.com/contacts/category_name.html?price=10-20

如您所见,它使用CMS页面URL作为基本路径。

没有用于过滤URL的设置。

我正在使用以下代码显示过滤器侧栏导航:

<?php if($this->canShowBlock()): ?>
<div class="product-range">
    <h2><?php echo $this->__('Browse Products') ?></h2>
    <?php echo $this->getStateHtml() ?>
    <?php if($this->canShowOptions()): ?>
            <?php $_filters = $this->getFilters() ?>
            <?php foreach ($_filters as $_filter): ?>
                <?php if($_filter->getItemsCount()): ?>
            <nav>
                <dl>
                    <dt><?php echo $this->__('Browse by '.$_filter->getName()); ?></dt>
                    <dd>
                        <?php echo str_replace(array('?','/?'), array('tapes.html?','/tapes.html?'), $_filter->getHtml()) ?>
                    </dd>
                </dl>
            </nav>
                <?php endif; ?>
            <?php endforeach; ?>
    <?php endif; ?>
</div>
<?php endif; ?>

" tapes.html"是类别URL(我只有一个类别,这很好!)

您可能应该使用斜杠进行这样的两个替代品:

<?php 
echo str_replace(array('?','/?'), 
                 array('/tapes.html?','/tapes.html?'), 
                 $_filter->getHtml()) 
?>

最新更新