How to add a new index to an existing array on Volt?

1k views Asked by At

So I have an existing array, I want to run a for loop through it and recreate new arrays. I am trying to figure out how to create my own array directly on volt. Here is my code:

{% set oNomesAgendaAmigos = [], oNomesAgendaRecomendado = [], oNomesAgendaAmigosRecomendado = [] %}

  {% for oNomeAgenda in oNomesAgenda %}

    {% set oNomesAgendasTotal = oNomeAgenda.cliente_nome %}

    {% if oNomeAgenda.ind_amigo == 1 %}        
      {% set oNomesAgendaAmigos = oNomeAgenda %}
    {% endif %}

    {% if oNomeAgenda.ind_recomendado == 1 %}
      {% set oNomesAgendaRecomendado = oNomeAgenda.cliente_nome %}
    {% endif %}

    {% if oNomeAgenda.ind_recomendado == 1 AND oNomeAgenda.ind_amigo == 1 %}
      {% set oNomesAgendaAmigosRecomendado = oNomeAgenda.cliente_nome %}
    {% endif %}

  {% endfor %}
1

There are 1 answers

0
yergo On

Last time i have checked there were no mechanism for setting table bit by bit in Volt. The walk-around would be to use array_merge() or implement own filter/method into Volt engine.

Anyway it's a bit against MVC principles. You should set all tables you need over your PHP part of code.

To loop ever array with indexes inside loop you use that trick:

{% for index, value in numbers %}
    {{ index }}: {{ value }}
{% endfor %}

I also really appreciate this part of Volt Documentation.