¿Cómo se traduce los artículos de matriz y se une a ellos?
-
27-10-2019 - |
Pregunta
Usando ramita, ¿cómo puedo traducir todos los elementos en una matriz y unirme a ellos con un corte? ¿Tengo que usar una variable adicional o hay un método más inteligente?
Por el momento, estoy haciendo algo como esto:
{% set labels = [] %}
{% for feature in menu_item.features %}
{% set labels = labels|merge([feature|trans([], 'features')]) %}
{% endfor %}
{{ labels | join(' / ')}}
Apesta.
Solución
¿Por qué no simplemente emitir el contenido mientras está en bucle?
{% for feature in menu_item.features %}
{% if loop.index0 > 0 %}/{% endif %}
{{feature|trans}}
{% endfor %}
Otros consejos
No todo debe hacerse dentro de la "vista".
Este tipo de código probablemente se ubique mucho mejor dentro de su lógica del controlador y luego se pasa a la vista como resultado unido+unido. Porque en su ejemplo, todo lo que está haciendo es compilar un resultado que se puede hacer mucho más fácilmente dentro del código.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow