Группировка операторов if

#html #css #if-statement #conditional-statements #liquid

#HTML #css #if-оператор #условные операторы #жидкость

Вопрос:

Я пытаюсь найти способ, чтобы все условия «if contains» отображались в одной строке вместо того, чтобы повторять код каждый раз.

Вот как выглядит код:

 var selector = document.querySelector('tr[data-variant-id="{{ item.variant.id }}"] .product__description__variant');
    {% assign pre_order_message = '' %}
    {% for tag in item.product.tags %}
        {% if tag contains 'weeks' %}
            {% assign count = count | plus: 1 %}                                    
            {% assign pre_order_message = tag | split:'**' | last %}                          
             var para = document.createElement("p");
             para.classList.add('hc-shipping');

            var node = document.createTextNode("Expected to begin shipping {{ pre_order_message }} from order date.");
             para.appendChild(node);
             selector.after(para);
        {% endif %}  
    {% endfor %}  
 
   var selector = document.querySelector('tr[data-variant-id="{{ item.variant.id }}"] .product__description__variant');
    {% assign pre_order_message = '' %}
    {% for tag in item.product.tags %}
        {% if tag contains 'January' %}
            {% assign count = count | plus: 1 %}                                    
            {% assign pre_order_message = tag | split:'**' | last %}                          
             var para = document.createElement("p");
             para.classList.add('hc-shipping');

            var node = document.createTextNode("Expected to begin shipping {{ pre_order_message }}.");
             para.appendChild(node);
             selector.after(para);
        {% endif %}  
    {% endfor %}
 

Я просто хочу убедиться, что могу сгруппировать то, что находится между ‘ … ‘ в строке, в которой указано {% if тег содержит ‘ ‘ %} . Любой способ исправить? Спасибо!

Комментарии:

1. что это за механизм шаблонов?

2. это только в оформлении заказа Shopify. жидкость

Ответ №1:

Вы можете использовать and/or для объединения условий, подробнее об этом здесь .

Кстати, если вы просто хотите убедиться, что тег существует в тегах продукта, вы можете сделать это:

 {% if item.product.tags contains 'weeks' %}
  Do something...
{% endif %}
 

Вместо того, чтобы перебирать все теги, вы сэкономите таким образом пару строк 😉

И последнее: вы можете ВЫСУШИТЬ код, используя фрагменты кода, вот краткое описание этого.