условно применить два разных класса в жидком файле - не работает должным образом - PullRequest
0 голосов
/ 17 июня 2020

У меня есть сценарий, в котором два условия IF в атрибуте класса нарушают функциональность.

только одно условие IF работает без нарушения функциональности.

<li class="{% if item.dropdown %}has-dropdown{% endif %} {% if item.active %}active{% endif %}">  
  ..........
</li>

Здесь атрибут класса имеет два условия ЕСЛИ. Мне нужен способ, при котором без двух условий IF мы можем достичь того же сценария в жидком шаблоне.

1 Ответ

1 голос
/ 27 июня 2020

Одним из способов удаления условий {% if %} из атрибута class было бы следующее:

  1. Создать переменную Liquid, которая заранее содержит имена классов
  2. Распечатать переменную значение внутри атрибута класса
{% assign custom_classes = '' %}
{% if item.dropdown %}
  {% assign custom_classes = custom_classes | append: 'has-dropdown ' %}
{% endif %}
{% if item.active %}
  {% assign custom_classes = custom_classes | append: 'active ' %}
{% endif %}

<li class="{{ custom_classes }}">  
  ...
</li>
...