Pular para o conteúdo principal

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 langCode para obter o filtro localizado em um idioma específico (o padrão é en_US).
  • Nós de página (type: "page") expõem uma url; outros tipos de nó usam marker para referenciar sua entidade.
  • O campo value carrega um valor unificado do nó (por exemplo, um valor de desconto ou um título de atributo) quando aplicável, e é null caso contrário.

📊 Tabela de Referência Rápida

MétodoDescriçã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