# Products()

A função `Products()` retorna os produtos cadastrados na loja.

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

As requisições de produtos sempre retornarão um array de dados.

É possível aplicar filtros a essa função para que ela retorne apenas os produtos desejados.\
Segue abaixo a relação de filtros disponíveis:

| Filtro       | Parametro                                                                                                      |      |                |              |                      |
| ------------ | -------------------------------------------------------------------------------------------------------------- | ---- | -------------- | ------------ | -------------------- |
| `filter`     | <p>O filtro <code>filter</code> pode receber os seguintes parâmetros:<br><code>featured                        | new  | free\_shipping | available    | promotion</code></p> |
| `limit`      | Recebe um valor da qual será a quantidade maxima de produtos.                                                  |      |                |              |                      |
| `order`      | <p>O filtro order é usado para ordernar a lista de produtos, pode receber os seguintes parâmetros:<br><code>id | name | price          | price\_offer | stock</code></p>     |
| `categories` | O filtro `categories` Recebe o id das categorias da qual deseja filtrar os produtos.                           |      |                |              |                      |
| `brands`     | O filtro `brands` Recebe o nome da marca da qual deseja filtrar os produtos.                                   |      |                |              |                      |

## Como Usar

Abaixo alguns exemplos de utilização da função `Products()` para exibir todos os produtos da loja.

Retorna um array com todos os produtos da loja

```twig
{% set products = Products() %}
```

A chamada abaixo retornará até 8 produtos em destaque ordenados pelos mais vendidos que estejam cadastrados nas categorias 1 e 2 e tenham como marca "Tray".

```twig
{% set products = Products({
   'filter': 'featured',
   'limit': 8,
   'order': {'quantity_sold': 'desc'},
    'categories': [2, 3],
   'brands': 'Tray'
}) %} 
```

É possível também realizar múltiplas ordenações, conforme exemplo:

```twig
{% set products = Products({
    'order': {
        'quantity_sold': 'desc',
        'name': 'asc',
        'id': 'desc'
    }
}) %}  
```

A chamada abaixo retornará até 4 produtos que estejam disponíveis para venda e ordenados pelos mais vendidos.

```twig
{% set products = Products({
   'filter': 'available',
   'limit': 4,
   'order': {'quantity_sold': 'desc'}
}) %} 
```
