Как создать массив в цикле for В Liquid?

Я пытаюсь создать массив из списка объектов, используя синтаксис Liquid:

{% for operation in menuItems %}
      {% assign words1 = operation.Title | split: '_' %}
      {% assign controllerName = words1 | first %}
      {% assign controllersTmp = controllersTmp | append: '_' | append: controllerName %}
{% endfor %}

Я хочу разделить controllersTmp чтобы получить мой массив, но на данный момент мой controllersTmp пусто.

помочь ?

2 ответов


вы можете сразу создать новый пустой массив controllers и concat его controllerName преобразовать в массив с помощью метода обхода split:''. Результатом является непосредственно массив, без дополнительных строковых манипуляций.

{% assign controllers = '' | split: '' %}
{% for operation in menuItems %}
    {% assign controllerName = operation.Title | split: '_' | first | split: '' %}
    {% assign controllers = controllers | concat: controllerName %}
{% endfor %}

вы должны ввести переменную controllersTmp:

 {% assign controllersTmp = '' %}