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.

¿Fue útil?

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
scroll top