【问题标题】:How to hide list if no tags are shown in Shopify?如果 Shopify 中没有显示标签,如何隐藏列表?
【发布时间】:2018-05-14 14:04:26
【问题描述】:

如果当前集合没有要显示的标签,我会尝试隐藏过滤器部分。

这是我当前的代码:

{% assign tags = 'Blue, Grey, Black, Oak, Bronze, Pewter, Gunmetal, Utile, Mahogany' | split: ',' %}
{% assign colour = tags | size %}
 <ul class="subnav clearfix" {% if colour <= 0 %} style="display: none;" {% endif %}>
  <li class="coll-filter filter-heading clearfix">
   <label>Colour</label>
   <hr class="hr--sidebar">
   {% for t in tags %}
   {% assign tag = t | strip %}
   {% if current_tags contains tag %}
    <li class="selection{% unless current_tag %} active{% endunless%}">
     <span>{{ tag | link_to_remove_tag: tag }}</span>
    </li>
   {% elsif collection.tags contains tag %}
    <li class="selection{% unless current_tag %} active{% endunless%}">
     <div id="swatch-{{ tag }}" class="colour-filter">&nbsp;</div>
      <span> {{ tag | link_to_tag: tag }}</span>
    </li>
   {% endif %}
  {% endfor %}
 </li>
</ul>


{% assign tags = 'Egyptian Cotton, Silk, Satin, Salt' | split: ',' %}
{% assign material = tags | size %}
 <ul class="subnav clearfix" {% if material <= 0 %} style="display: none;" {% endif %}>
  <li class="coll-filter filter-heading clearfix">
   <label>Material</label>
   <hr class="hr--sidebar">
   {% for t in tags %}
   {% assign tag = t | strip %}
    {% if current_tags contains tag %}
     <li {% unless current_tag %}class="active"{% endunless%}>
      {{ tag | link_to_remove_tag: tag }}
     </li>
    {% elsif collection.tags contains tag %}
     <li>
      {{ tag | link_to_tag: tag }}
     </li>
    {% endif %}
   {% endfor %}
  </li>
 </ul>

{% assign tags = 'Small, Medium, Large' | split: ',' %}
{% assign size = tags | size %} 
 <ul class="subnav clearfix" {% if size <= 0 %} style="display: none;" {% endif %}>
  <li class="coll-filter filter-heading clearfix">
   <label>Size</label>
   <hr class="hr--sidebar">
   {% for t in tags %}
   {% assign tag = t | strip %}
   {% if current_tags contains tag %}
    <li {% unless current_tag %}class="active"{% endunless%}>
     {{ tag | link_to_remove_tag: tag }}
    </li>
   {% elsif collection.tags contains tag %}
    <li>
     {{ tag | link_to_tag: tag }}
    </li>
   {% endif %}
  {% endfor %}
 </li>
</ul>

{% assign tags = 'Under £5, £15-£100, £100-£250, £250-£750, £750-1000£, £1000' | split: ',' %}
{% assign price-range = tags | size %}
 <ul class="subnav clearfix" {% if price-range <= 0 %} style="display: none;" {% endif %}>
  <li class="coll-filter filter-heading clearfix">
   <label>Price Range</label>
   <hr class="hr--sidebar">
   {% for t in tags %}
   {% assign tag = t | strip %}
   {% if current_tags contains tag %}
    <li {% unless current_tag %}class="active"{% endunless%}>
     {{ tag | link_to_remove_tag: tag }}
    </li>
   {% elsif collection.tags contains tag %}
    <li>
     {{ tag | link_to_tag: tag }}
    </li>
   {% endif %}
  {% endfor %}
 </li>
</ul>

我的代码已根据以下答案进行了更新。 目前仍然无法正常工作。

我确定我有多个过滤器,然后为标签分配尺寸、颜色、材料和价格范围这一事实是否导致它不起作用?

提前致谢。

【问题讨论】:

    标签: html css shopify liquid


    【解决方案1】:

    检查标签集合是否小于或等于零,然后应用 display:none 样式。

    {% 如果标签

    【讨论】:

    • 见上面我更新的代码。我尝试像这样将它添加到&lt;ul&gt; 标签中。 &lt;ul class="subnav cleafix" {% if tags &lt;= 0 %} style="display: none;" {% endif %} 没有用。
    【解决方案2】:

    试试这个

    {% assign tags = 'Egyptian Cotton, Silk, Satin' | split: ',' %}
    {% assign count = 0 %}
    {% for t in tags %}
      {% assign tag = t | strip %}
      {% if current_tags contains tag or collection.all_tags contains tag %}
        {% increment count %}
      {% endif %}
    {% endfor %}
    
    <ul class="subnav clearfix" {% if count <= 0 %} style="display:none" {% endif %} >
     <li class="coll-filter clearfix{% unless current_tags %} active{% endunless %}">
       <label>Material</label>
        <hr class="hr--sidebar">
         {% for t in tags %}
          {% assign tag = t | strip %}
           {% if current_tags contains tag %}
            <li {% unless current_tag %}class="active"{% endunless%}>
             {{ tag | link_to_remove_tag: tag }}
            </li>
           {% elsif collection.all_tags contains tag %}
           <li>
           {{ tag | link_to_tag: tag }}
          </li>
       {% endif %}
      {% endfor %}
     </li>
    </ul>
    

    【讨论】:

    • 这也没用
    • Size 是一种方法,可以更新:{% assign price-range = tags |价格范围 %} 由 {% 分配价格范围 = 标签 |大小 %},它会工作
    • 我明白是什么问题,我已经更新了我的代码
    • 还是不行。我对此进行了更新,内容上方的过滤器更改为 0 1 2,然后我应用此过滤器的过滤器消失了,即使当前有标签适用于此过滤器的产品。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-01
    • 2013-07-14
    • 2013-02-22
    相关资源
    最近更新 更多