組み込みのレイヤード ナビゲーション フィルターを操作して、フィルターの使用時に表示される [現在のショッピング] セクションの代わりにチェックボックスを使用しています。これを使用してフィルターを追加するチェックボックスシステムを正常にセットアップしました:
<input type="checkbox" id="filter-checkbox-<?php echo $_item->getLabel() ?>" class="filter-checkbox" onclick="setLocation('<?php echo $this->urlEscape($_item->getUrl()) ?>');"/>
<a href="<?php echo $this->urlEscape($_item->getUrl()) ?>" class="m-notselected-ln-item" title="<?php echo $_item->getLabel() ?>">
<?php echo $_item->getLabel() ?>
</a>
これは、フィルターをチェックされていない項目 (else ステートメント内) に追加するのに問題なく機能します。そして、次のような URL になります。
category/category.html?filtered_attribute=97&filtered_attribute=105
ボックスのチェックを外すときにonclickに使用するphpに問題があります。filtered_attribute=xx
つまり、URL からいずれかを削除します。
標準のテンプレート ファイルを見ると、フィルターの削除ボタンは次を使用します。
<?php echo $_filter->getRemoveUrl() ?>
しかし、それはページを壊し、階層化されたナビゲーションの残りの部分が読み込まれなくなります。
(私はそれがまだ面倒であることを知っています。チェックボックス/アンカータグなどの二重 URL をクリーンアップし、すべてが機能したら SEO URL に変換します)