私のショップには、単一のサブカテゴリーを含む単一のルートカテゴリーがあります。ナビゲーション用の左側の列で動的属性フィルターを有効にするアンカーとして設定されています。
フィルターは正常にレンダリングされ、ホームページから問題なく動作しますが、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 です (カテゴリは 1 つだけですが、これで問題なく動作します)。