> For the complete documentation index, see [llms.txt](https://partners.tray.com.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://partners.tray.com.br/themes/construindo-seu-template/referencias/funcoes/categories.md).

# Categories()

A função `Categories()` retorna as categorias cadastradas no Painel Administrativo da loja.

{% hint style="info" %}
**Disponível em todas as páginas.**\
**Para saber mais sobre como cadastrar categorias acesse:** [Cadastrar Categorias](https://basedeconhecimento.tray.com.br/hc/pt-br/articles/6734145561243-Cadastrar-Categorias)
{% endhint %}

## Como Usar

As requisições de categorias sempre retornarão um array de dados, veja o padrão de retorno em: [categories](/themes/construindo-seu-template/referencias/objetos/categories.md).

### Para Exibir Todas as Categorias

No código abaixo a função Categories() é atribuída a uma variável e a partir dela é executado um loop para exibir o nome de cada categoria existente.

{% code title="Input" %}

```html
{# todas as categorias #}
<ul>
  {% set categories = Categories() %}
  {% for categorie in categories %}
    <li>{{ categorie.name }}</li>
  {% endfor %}
</ul>
```

{% endcode %}

{% code title="Output" %}

```html
<ul>
    <li>Acessórios</li>
    <li>Roupas</li>
    <li>Calçados</li>
    <li>Outlet</li>
</ul>
```

{% endcode %}

{% hint style="info" %}
Ao atribuir a função **`Categories()`** a variável categories ela retorna todas as categorias independente de possuírem produtos cadastrados nelas ou não.
{% endhint %}

### Para Buscar determinada Categoria por ID

No código abaixo é atribuída a uma variável a função Categories() passando como parâmetro o id desejado de valor 2, e então é exibido o nome dessa categoria de id 2.

{% code title="Input" %}

```html
{# busca o id 2: #}
{% set categoryTray = Categories( { "id": 2 } ) %}
<span>{{ categoryTray.name }}</span>    
```

{% endcode %}

{% code title="Output" %}

```html
<span>Roupas</span> 
```

{% endcode %}

### Para Exibir todas categorias em ordem ascendente

No código abaixo é atribuída a uma variável a função `Categories()` passando como parâmetro um objeto que define a ordem de exibição das categorias através do nome como ascendente, e então com o loop percorrendo todas categorias é exibido o nome de todas categorias ordenadas.

{% code title="Input" %}

```html
{# todas as categorias ordenadas por nome ascendente #}
{% set myCategories = Categories({ "order": { "name": "asc" }}) %}
<ul>
  {% for category in myCategories %}
    <li>{{ category.name }}</li>
  {% endfor %}
</ul>
```

{% endcode %}

{% code title="Output" %}

```html
<ul>
    <li>Acessórios</li>
    <li>Calçados</li>
    <li>Outlet</li>
    <li>Roupas</li>    
</ul>
```

{% endcode %}
