我正在操作内置的分层导航过滤器以使用复选框代替使用过滤器时出现的“当前购物”部分。我已成功设置复选框系统以使用以下方式添加过滤器:
<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)