Introdução
Construa navegação e filtragem facetada a partir de uma única árvore de filtros de conteúdo localizada.
Mais informações sobre a interface do usuário do módulo https://doc.oneentry.cloud/docs/category/filters
🎯 O que este módulo faz?
O módulo Filters permite que você recupere um filtro de conteúdo pelo seu marcador. Um filtro de conteúdo é uma árvore de itens curada e localizada - pode misturar páginas, produtos, atributos, descontos, bônus, métodos de pagamento e entradas personalizadas em uma única estrutura.
Pense nisso como um menu configurável de "coisas para filtrar" - você define a árvore uma vez no painel de administração do OneEntry e a puxa para seu aplicativo para renderizar navegação, filtros facetados ou listas curadas. O SDK é somente leitura: os filtros são recuperados pelo marcador.
🚀 Início Rápido
Inicialize o módulo a partir de defineOneEntry:
const { Filters } = defineOneEntry( "your-project-url", { "token": "your-app-token" });
Recupere um filtro pelo marcador e percorra sua árvore de itens:
// Fetch the "main" content filter, localized to English.
const filter = await Filters.getFilterByMarker("main", "en_US");
console.log(filter.localizeInfos.title);
filter.items?.forEach((node) => {
console.log(node.type, node.marker ?? node.url, node.children?.length ?? 0);
});
✨ Conceitos Chave
Marcador
Cada filtro tem um marcador único (por exemplo, main). Você solicita um filtro pelo marcador, e a resposta é localizada para o langCode solicitado.
Árvore de Itens
O array items é uma árvore: itens regulares e personalizados vivem no mesmo array, e cada nó pode ter children aninhados. Percorra a árvore para renderizar sua interface.
Cada nó tem um type que aponta para algo em seu projeto:
- page - um link para uma página (exibe uma
url) - product - uma entrada de produto
- attribute - um atributo para filtrar
- discount / personal-discount - uma entrada de desconto
- bonus - uma entrada de bônus
- payment-method - um método de pagamento
- admin - uma entrada de administrador
- custom - uma entrada personalizada que você definiu
Cada nó carrega informações localizadas (localizeInfos) e pode conter children aninhados, permitindo que você renderize filtros e menus de múltiplos níveis diretamente da resposta.
📋 O Que Você Precisa Saber
- Passe um
langCodepara obter o filtro localizado em um idioma específico (o padrão éen_US). - Nós de página (
type: "page") expõem umaurl; outros tipos de nó usammarkerpara referenciar sua entidade. - O campo
valuecarrega um valor unificado do nó (por exemplo, um valor de desconto ou um título de atributo) quando aplicável, e énullcaso contrário.
📊 Tabela de Referência Rápida
| Método | Descrição |
|---|---|
| getFilterByMarker() | Obter um filtro de conteúdo pelo seu marcador |
❓ Perguntas Comuns (FAQ)
De onde vêm os filtros de conteúdo?
Os filtros de conteúdo são configurados no painel de administração do OneEntry. O SDK os recupera em modo somente leitura pelo marcador.
Como renderizo um filtro de múltiplos níveis?
Percorra recursivamente o array items - cada nó pode conter um array children com a mesma estrutura de nó.
🎓 Melhores Práticas
- Referencie filtros pelo marcador, nunca por um título de exibição.
- Solicite o filtro no idioma atual do usuário via
langCode. - Armazene em cache os filtros - eles mudam raramente.
🔗 Documentação Relacionada
- Módulo de Páginas - Páginas referenciadas por nós de filtro
- Módulo de Produtos - Produtos referenciados por nós de filtro
- Módulo de AttributesSets - Atributos referenciados por nós de filtro