撇号 cms 创建一个“全选”按钮来过滤标签

问题描述

我正在尝试基于带有复选框的撇号标记构建过滤器,以便可以选择多个过滤器(此部分已实现)。我还需要一个按钮来选择所有标签,这是我无法找到答案的地方。如何使用 build 方法查询添加多个标签?我一直在这里指的是 apos 文档。 https://docs.apostrophecms.org/reference/modules/apostrophe-urls.html#methods

当前代码如下。

{# bellow link kind of works but does not allow me to pull the tags once selected #}
      <a href="{{  data.url | build({ tags: [data.page.filterTags] }) }}" id="select-all" >Select All</a>

{# bellow code works fine but I thought it might be relevent #}
      <br/> 
        {% for tag in data.page.filterTags %}
         {% set current = data.query.affinity == tag %}
          {% if apos.utils.contains(data.query.tags,tag) %}
            <a href="{{ data.url | build({ tags: { $pull: tag } }) }}" class="current">
            <label class="container"><input type="checkBox" name="tag" value="{{item}}" checked="">
          {% else %}
            <a href="{{ data.url | build({ tags: { $addToSet: tag } }) }}">
            <label class="container"><input type="checkBox" name="tag" value="{{item}}">
          {% endif %}
            <span class="text">{{tag | capitalize}}</span>
            <span class="checkmark"></span></label>
          </a>
        {% endfor %}

解决方法

我已经回答了我自己的问题,以防有人遇到同样的问题。您应该能够设置标签而无需在数组周围放置方括号(见下文)。

<a href="{{  data.url | build({ tags: data.page.filterTags }) }}" id="select-all" >Select All</a>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...