Manipulando Objetos

Com o opencode podemos manipular objetos de diversas maneiras, como exibir seus atributos na tela, utilizar laços de repetição e fazer validações, tudo isso de acordo com a necessidade.

As requisições de produtos sempre retornarão um array (vetor) de dados, por isso para exibir um produto você deve passar seu índice dentro desse vetor.

Desta forma, para exibir uma posição do vetor de products e de categories temos:

    {{ products[0].id}}
    {{ categories[0].name}}

Podemos também exibir todos os produtos ou todas as categorias utilizando um laço for:

    {% for product in products %}
       {{ product.name }}
    {% endfor %}
    {% for category in categories %}
       {{ category.name }}
    {% endfor %}

Ou podemos exibir na tela somente os que tiverem o atributo igual ao que foi passado, para isso podemos fazer uma comparação na exibição de produto utilizando o if:

    {% for product in products %}
       {% if product.id == '2' %}
          {{ product.id }}
       {% endif %}
    {% endfor %}

Com o if também podemos verificar se o objeto em questão, no caso o objeto categories, contém determinado atributo cadastrado. Como exemplo a abaixo, é verificado se as categorias contém uma imagem, caso tenha ela é exibida na tela:

   {% for product in products %}
      {% if category.images %}     
<img src="{{ category.images[0] }}" alt="{{ category.name }}">
{% endif %}
{% endfor %}