我正在操作内置的分层导航过滤器,以使用复选框代替使用过滤器时出现的“当前购物”部分。我已成功设置复选框系统以使用此选项添加过滤器:
<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语句中)可以正常工作。我最终得到了这样的网址:
category/category.html?filtered_attribute=97&filtered_attribute=105
当我取消选中该框时,我只是在使用php进行onclick时遇到问题。即删除URL中的filtered_attribute=xx
。
查看标准模板文件 - 删除过滤器按钮使用:
<?php echo $_filter->getRemoveUrl() ?>
但是这会破坏页面并导致分层导航的其余部分无法加载。
(我知道它仍然很混乱,我会清理复选框/锚标签等的双重网址,并在一切正常后转换为SEO网址)
答案 0 :(得分:0)
解决:
需要使用<?php echo $this->urlEscape($_item->getRemoveUrl()) ?>