Как вы переводите элементы массива и присоединяетесь к ним?
-
27-10-2019 - |
Вопрос
Используя Twig, как я могу перевести все элементы в массив и присоединиться к ним с помощью удара? Должен ли я использовать дополнительную переменную или есть более умный метод?
На данный момент я делаю что -то вроде этого:
{% set labels = [] %}
{% for feature in menu_item.features %}
{% set labels = labels|merge([feature|trans([], 'features')]) %}
{% endfor %}
{{ labels | join(' / ')}}
Это отстой.
Решение
Почему бы просто не вывести контент во время цикла?
{% for feature in menu_item.features %}
{% if loop.index0 > 0 %}/{% endif %}
{{feature|trans}}
{% endfor %}
Другие советы
Не все должно быть сделано в «представлении».
Этот тип кода, вероятно, намного лучше помещен в логику контроллера, а затем передается в представление как объединенный результат объединенного+. Потому что в вашем примере все, что вы делаете, - это результат, который гораздо легче сделать в коде.
Не связан с StackOverflow