Liquid - если содержит оператор, не работающий в цикле for - PullRequest
0 голосов
/ 25 мая 2018

У меня есть очень простое условное условие внутри цикла, которое не работает:

{% for tag in collections.all.tags %} 
     <li class="mb-1 ">
        <a class="text-white" title="{{ tag }}" href="#">
            {{ tag | handle }}
            {% if canonical_url contains tag | handle %}
                active
            {% endif %}
        </a>
     </li>
{% endfor %}

Прямо сейчас, мой tag | handle - это "уклонение", и если я напечатаю свой {{ canonical_url }}, я получу https://localhost:3000/collections/all/dodge так что мое условное выражение должно быть верным и вывести слово «active».

Если я изменю свое утверждение на {% if canonical_url contains 'dodge' %}, оно будет работать нормально, но мне нужно, чтобы оно было динамичным.Есть предложения?

Ответы [ 2 ]

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

Сначала вы должны присвоить значение дескриптора тега для создания переменной жидкости, а затем вы сможете использовать переменную в условии, и тогда все будет работать нормально и динамично.Спасибо !!

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

Установите дескриптор в переменную и используйте переменную для сравнения вместо дескриптора.

...