A listagem de produtos é realizada utilizando a extension nativa da plataforma flexy f2_variant_list
f2_variant_list(filters: Objeto ): ObjetoResult
Parâmetros:
filters - Objeto: chaves e valores de configuração da busca
exemplo:
{
useSearchParameters: 'true',
page: app.request.get('page', 1),
itemsPerPage: app.request.get('itemsPerPage', 15),
sortOrder: order,
filter: filterString,
showCustomVariants: 'true',
showOnlyAvailable: 'false',
shoppingStoreReferenceCode: shoppingStore.referenceCode,
category: {
referenceCode: category ? category.referenceCode : null,
isShopping: category ? (category.shoppingStore ? 'false' : 'true') : null
}
}
Retorno
ObjetoResult.pagination - Array : lista das variações da página recuperada
ObjetoResult.totalResults - Inteiro : Quantidade de resultados da busca
Filtros/opções
useSearchParameters - true, para utilização de filtros mais avançados. O uso deste atributo como true é recomendado;
page - utilizada para definir a página da listagem a ser exibida;
sortOrder - determina a ordenação utilizada para a listagem; Valores aceitos category-sort(ordenação da categoria); name-asc; name-desc; price-asc; price-desc; sales-desc(Mais Vendidos); createdAt-desc(Lançamentos)
itemsPerPage - quantidades de itens a serem exibidos por página. Exemplos 15; 10; 30
showOnlyAvailable - Somente produtos com estoque serão exibidos
shoppingStoreReferenceCode - Exibe produtos de uma determinada loja, dado o referenceCode, null, retornará produtos do shopping
category.referenceCode - Retorna produtos da categoria enviada (referenceCode) todos os produtos, caso null
category.isShopping - identifica se a categoria informada pertence ao shopping ou a uma loja
Exemplo de uso
No exemplo abaixo, utilizado no padrão,
{% if category %}
{% for step in f2_store_create_breadcrumbs({'category': category}) if step.categoryReferenceCode != 'destaques' %}
{% set path = path|merge([{'url': step.categoryUrl, 'title' : step.categoryName}]) %}
{% endfor %}
{% endif %}
{% set order = app.request.get('order', app.request.get('sortOrder', 'category-asc')) %}
{% set filters = {
useSearchParameters: 'true',
page: app.request.get('page', 1),
itemsPerPage: app.request.get('itemsPerPage', 15),
sortOrder: order,
filter: filterString,
showCustomVariants: 'true',
showOnlyAvailable: 'false',
shoppingStoreReferenceCode: shoppingStore.referenceCode,
category: {
referenceCode: category ? category.referenceCode : null,
isShopping: category ? (category.shoppingStore ? 'false' : 'true') : null
}
} %}
{% set result = f2_variant_list(filters) %}
{% include 'FlexyFtwoStoreBundle:Include:variant-list.html.twig' with {
path: path,
category : category,
variants : result.pagination,
totalResults : result.totalResults
} %}
Comentários
0 comentário
Por favor, entre para comentar.