Pular para o conteúdo

pagination

O objeto {{ pagination }} é usado nos templates de tag.liquid e search.liquid para renderizar links de navegação entre páginas de uma lista de produtos.

{% load_products q:params.q per_page: 15 %}
{% for product in products %}
{% render "partials/components/_product_block.liquid %}
{% else %}
<p>Não há produtos que correspondem à sua pesquisa.</p>
{% endfor %}
{% if pagination.total_pages > 1 %}
<form method="get">
{% unless pagination.prev_url == current_url %}
<a href="{{ pagination.prev_url }}" rel="prev">« Anterior</a>
{% endunless %}
<span>
Página
<input
type="number"
name="p"
max="{{ pagination.total_pages }}"
value="{{ params.q | default: pagination.current_page }}" />
de {{ pagination.total_pages }}
</span>
{% unless pagination.next_url == current_url %}
<a href="{{ pagination.next_url }}" rel="next">Próxima »</a>
{% endunless %}
</form>
{% endif %}

Os atributos desse objeto estão na tabela a seguir:

AtributosFunçãoExemplo de aplicação
countRetorna a contagem total de produtos na lista.Input: Você está vendo {{ per_page }} de {{ pagination.count }} produtos.
Output: Você está vendo 20 de 45 produtos.
current_pageRetorna o número da página sendo visualizado no momento.Input: Página {{ pagination.current_page }} de {{ pagination.total_pages }}.
Output: Página 2 de 2.
next_urlRetorna a URL da próxima página da lista.Input: {% if pagination.next_url %} <a href="{{ pagination.next_url }}">Próxima</a> {% endif %}
Output: <a href="...?p=3">Próxima página</a>
pagesRetorna uma lista de URLs para cada página. Cada item possui url e number.Exemplo: {% for page in pagination.pages %} <a href="{{ page.url }}">{{ page.number }}</a> {% endfor %}
prev_urlRetorna a URL da página anterior da lista.Input: {% if pagination.prev_url %} <a href="{{ pagination.prev_url }}">Anterior</a> {% endif %}
Output: <a href="...?p=1">Página anterior</a>
total_pagesRetorna o número total de páginas da lista.Input: {% if pagination.total_pages > 1 %} Paginação necessária {% endif %}

📘 Esse objeto é utilizado na tag load_products.