如果选择当前供应商,如何捕获

时间:2019-01-22 12:49:14

标签: shopify liquid

在收集页面和索引的侧边栏中,我列出了所有带有以下代码的供应商。现在,当选择该特定供应商时,我想向<li>添加一个.active类。我想对产品类型列表做同样的事情。如何检查选择了哪个供应商?

我尝试了{% if collection.handle == vendor %}。但是它返回空值,因为它只能捕获集合名称。

<ul class="nav">
  {% for vendor in shop.vendors %}
      <li class="collection-container {% if collection.handle == vendor %}active {% endif %}">{{ vendor | link_to_vendor }}</li>
  {% endfor %}
</ul>

请注意,URL构造为/ collections / types?q = Nike,在=之后出现了供应商。我想尝试以某种方式捕获用户正在导航的当前集合,并在整个foreach循环中添加一个active标签。

我知道可以通过为每个供应商和产品类型创建集合并使用collection.handel来完成此操作,但是我有兴趣尝试通过捕获URL的最后一位来解决它。

1 个答案:

答案 0 :(得分:1)

**显示供应商过滤器使用以下代码**
<ul class="filter">
{%for shop.vendors%}中的供应商
{%,如果shop.vendors包含供应商%}
{%,如果collection.current_vendor ==供应商%} {{ 1}}} {{供应商| link_to_vendor}} <li class="active">
{%else%}
</li> {{供应商| link_to_vendor}} <li> {%endif%}
{%endif%}
{%endfor%}
</li>

如果您想卖空卖方,请尝试以下代码
</ul>
{%分配myvendor ='samsung,xaomi,Nokia'| split:“,”%}
{%for myvendor%中的供应商}
{%,如果shop.vendors包含供应商%}
{%,如果collection.current_vendor ==供应商%} {{ 1}}} {{供应商| link_to_vendor}} <ul class="filter">
{%else%}
<li class="active"> {{供应商| link_to_vendor}} </li> {%endif%}
{%endif%}
{%endfor%}
<li>