O Objeto filter_options retorna um array com filtros que dá a possibilidade de montar filtros laterais na loja.
Disponível para uso nas páginas: catalog | search
Esse objeto é disponibilizado apenas para lojas que possuem a nova busca ativa.
filtered_options - é o objeto responsável por retornar todos os filtros que estiverem aplicados na busca atual. Portanto pode ser utilizado para definir inputs com "checked".
filter_options - este objeto retorna todos os filtros independente deles estarem aplicados ou não.
Atributos disponíveis
A tabela abaixo lista os atributos que podem ser utilizados para os objetos filter_options ou filtered_options .
Outras chaves utilizadas para o filtro:
Exemplo da estrutura de retorno do objeto filter_options no layout :
Para aplicação no layout é necessário se atentar a alguns pontos detalhados abaixo.
Inicialmente é necessário que o filtro seja montado dentro de um formulário de método get, por exemplo:
exemploInicial.html
<formclass="filter__form"method="get"><!-- Insira o filtro aqui --></form>
No campo name do input, deve ser adicionado o nome da opção a ser filtrada, seguida por [], além disso, no campo value, é necessário forçar o encode para que funcione corretamente, por exemplo:
É através do objeto filtered_options que deve ser verificado se um determinado filtro está aplicado, e então marcado como checked, para isso é necessário realizar uma validação, exemplo:
{% set category_applied = category.key in filtered_options.categories ?true:false%}<input type="checkbox" name="categories[]" value="{{ category.key|convert_encoding('UTF-8', 'ISO-8859-1') }}" {{ category_applied ? 'checked' }}>
Array que contem todas as marcas da listagem de produtos. Cada marca obtida é um outro Array com duas keys: key | doc_count
{{ brands.key }}
Nome da Marca existente na listagem de produtos.
{{ doc_count }}
Quantidade de produtos com a marca.
{{ categories }}
Array com todas as categorias da listagem de produtos. Cada categoria obtida é um outro Array com duas keys: doc_count | key
{{ categories[0].key }}
Nome da Categoria, de índice definido entre colchetes "[]", ou pode ser iterado dentro do array categories cada elemento com o atributo key para obter o nome de todas categorias da listagem de produtos.
{{ categories[0].doc_count }}
Quantidade de produtos da Categoria, de índice definido entre colchetes "[]", ou pode ser iterado dentro do array categories cada elemento com o atributo doc_count para obter a quantidade de produtos de todas categorias da listagem de produtos.
{{ availability }}
Array com todos tipos de disponibilidade possíveis para a listagem de produtos. De cada item desse array pode ser consultado: key | doc_count
{{ availability.key }}
Tipo de disponibilidade existente na listagem.
{{ doc_count }}
Quantidade de produtos por disponibilidade existentes na listagem.
{{ prices }}
Array que contem duas listas de preços com informações e faixas de variação: stats | buckets
{{ prices.stats }}
Array com informações de valores gerais dos preços. Quando iterado exibe os valores na mesma ordem das suas Keys: count | min | max | avg | sum
{{ prices.stats.count }}
A quantidade de preços de produtos existentes na listagem.
{{ prices.stats.min }}
O menor preço na listagem de produtos.
{{ prices.stats.max }}
O maior preço na listagem de produtos.
{{ prices.stats.avg }}
Calcula e exibe a média de preço da listagem de produtos.
{{ prices.stats.sum }}
Soma de todos os preços da listagem de produtos.
{{ prices.buckets }}
Array com todas faixas de preço calculadas pela listagem de produtos. Cada faixa obtida é um outro Array com duas keys: to | from
{{ prices.buckets[0].from }}
Valor inicial da faixa de preço do índice definido entre colchetes "[]", ou pode ser iterado dentro do array buckets cada elemento com o atributo from para obter o valor inicial de todas faixas de preço da página atual.
{{ prices.buckets[0].to }}
Valor final da faixa de preço do índice definido entre colchetes "[]", ou pode ser iterado dentro do array buckets cada elemento com o atributo to para obter o valor final de todas faixas de preço da página atual.
{{ properties }}
Array com todas características dos produtos da listagem. É possível imprimir o nome de cada característica obtida com o atributo key. E dentro de cada característica existe outro Array "values" com detalhes.
{{ properties.values}}
Array com todos os detalhes das características. Cada detalhe possui dois atributos: key | doc_count
{{ properties.values.doc_count }}
Quantidade de produtos para o detalhe da característica.
{{ properties.values.key }}
Nome do detalhe da característica.
{{ properties.values.entity }}
O tipo da Característica, se é uma "Variação" ou "Propriedade".
{{ store.id }}
id da loja
company
Plataforma de Origem da Loja
page
Página atual da listagem de produtos
q
Query String buscada através do formulário de busca