Как скрыть список, если в Shopify нет тегов? - PullRequest
0 голосов
/ 14 мая 2018

Я пытаюсь скрыть раздел фильтра, если для текущей коллекции нет тегов.

Вот мой текущий код:

{% 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>

Мой код был обновлен на основена ответы ниже.В настоящее время все еще не работает.

Я был уверен, что тот факт, что у меня есть несколько фильтров, а затем присвоил тегам размер, цвет, материал и диапазон цен, не помог?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

Попробуйте это

{% 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>
0 голосов
/ 14 мая 2018

Убедитесь, что коллекция тегов меньше или равна нулю, а затем примените отображение: стиль отсутствует.

{% if tags <= 0%} </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...