2017-01-05 3 views
0

Я использую функцию Shopify и хочу подключать теги клиента, однако они чувствительны к регистру. Таким образом, {% if customer.tags contains "wholesale" %} - это не то же самое, что и {% if customer.tags contains "Wholesale" %}. Мой клиент может или не может придерживаться одного случая применения тегов, поэтому я хочу защититься от этого в будущем.Жидкость - преобразовать массив в нижний регистр

Я хотел бы взять массив, customer.tags и преобразовать все значения в нижний регистр. Я пытаюсь выработать логику, но у меня проблемы.

Я хочу поместить customer.tags в новый массив, который не работает.

{% assign newArray = customer.tags %} 
{{ newArray }} 

Что я делаю неправильно?

ответ

2

Вы можете использовать the downcase filter для этого:

{% assign contains_wholesale = false %} 

{% for tag in customer.tags %} 
    {% assign lowercase_tag = tag | downcase %} 
    {% if lowercase_tag == 'wholesale' %} 
     {% assign contains_wholesale = true %} 
    {% endif %} 
{% endfor %} 

Примечание: downcase просто работает для ASCII символов. Если вам нужно искать строки с акцентированными буквами или другими символами Юникода, этого будет недостаточно.

2

Другим решением, которое вы используете оператором «содержит», было бы пропустить «w».

Что-то вроде {% if customer.tags содержит «holesale»%} должно работать.

Смежные вопросы