load_tag e load_tags

Como utilizar das tags load_tag e load_tags.

As tags{% load_tags %}e {% load_tag %} são usadas para obter as informações de tags de produto que respeitam um determinado parâmetro. Assim como a tag {% load_products %}, essas tags não possuem um delimitador final.

O output da tag {% load_tags %} é um array {{ loaded_tags }} contendo todas as tags de produto que respeitam o parâmetro passado pela tag, com suas respectivas informações.

O output da tag {% load_tag %} é um objeto {{ loaded_tag }} que possui a tag de produto indicada através dos parâmetros.

Exemplo de input:

{% load_tags types:'categoria' %}

Categorias:

{% for tag in loaded_tags %}
  {{ tag.title }}
{% endfor %}

Output:

Categorias:

Camisetas
Calças
Vestidos
Bermudas

Parâmetros de load_tags

É preciso indicar um tipo de tag ou um nome para que a tag {% raw %}{% load_tags %}{% endraw %} retorne as tags de produto desejadas.

  • names: recebe uma string com o nome ou a lista de nomes de tags de produto que devem ser retornados.
{% load_tags names:'home,carrossel' %}
  • types: recebe uma string com o tipo ou uma lista de tipos de tags de produto que devem ser retornados.
{% load_tags types:'destaque1,destaque2,destaque3' %}

Parâmetros de load_tag

É preciso indicar qual tag de produto deve ser retornado pela {% load_tag %} através dos parâmetros name ou type.

  • name: recebe uma string com o nome identificador da tag de produto.
{% load_tag name:'destaque' %}
  • type: recebe uma string com o tipo da tag de produto que deve ser retornada no objeto {{ loaded_tag }}.
{% load_tag type:'home' %}

Objetos {{ loaded_tags }} e {{ loaded_tag }}.

O objeto {{ loaded_tag }} é cópia do objeto {{ tag }} , com os mesmos atributos name, title, subtitle, image_url, etc.

O {{ loaded_tags }}é um array de vários objetos {{ loaded_tag }}, que podem ser acessados através de uma tag for:

{% for tag in loaded_tags %}
  <h2>{{ tag.title }}</h2>
  <p>{{ tag.description }}</p>
{% endfor %}

📘

Para mais informações sobre a composição dos objetos {{ loaded_tag }} e do array de objetos {{ loaded_tags }}, confira a documentação do objeto {{ tag }}.

Ordenando as tags do objeto {{ loaded_tags }} .

É possível manipular a ordem das tags de produto presentes no objeto {% raw %}{{ loaded_tags }}{% endraw %} usando o filtro sort:

- home.liquid:
Exemplo de input:

{% load_tags types:'home' %}

{% assign sorted_tags = loaded_tags | sort: "subtitle" %}

Seções da Home:

{% for tag in sorted_tags %}
  {{ tag.title }}
{% endfor %}
  • tags type home: ["mais-vendidos", "destaques", "nossas-escolhas"]

Seções da Home:

Produtos em Destaque
Nossas Escolhas
Mais Vendidos

No exemplo acima, o campo subtítulo da tag de produto do tipo home é usada para controlar a ordem de exibição das tags de acordo com o que foi informado pelo usuário no Admin.