Adicionar o ContextHub a páginas e acessar lojas adding-contexthub-to-pages-and-accessing-stores

Adicione o ContextHub às suas páginas para ativar os recursos do ContextHub e para vincular às bibliotecas de JavaScript do ContextHub.

A API JavaScript do ContextHub fornece acesso aos dados de contexto que o ContextHub gerencia. Esta página descreve brevemente os principais recursos da API para acessar e manipular dados de contexto. Siga os links para a documentação de referência da API para ver informações detalhadas e exemplos de código.

Adicionar o ContextHub a um componente de Página adding-contexthub-to-a-page-component

Para ativar os recursos do ContextHub e vincular às bibliotecas JavaScript do ContextHub, inclua o contexthub componente no head seção da sua página. O código HTL do seu componente Página deve se parecer com o seguinte exemplo:

<sly data-sly-resource="${'contexthub' @ resourceType='granite/contexthub/components/contexthub'}"/>

Você também precisa configurar se a barra de ferramentas do ContextHub aparece no modo de Visualização. Consulte Exibição e ocultação da interface do usuário do ContextHub.

Sobre as lojas ContextHub about-contexthub-stores

Use os armazenamentos do ContextHub para manter os dados de contexto. O ContextHub fornece os seguintes tipos de armazenamentos que formam a base de todos os tipos de armazenamentos:

Todos os tipos de lojas são extensões da ContextHub.Store.Core classe. Para obter informações sobre como criar um tipo de armazenamento, consulte Criar lojas personalizadas. Para obter informações sobre tipos de armazenamento de exemplo, consulte Amostra de candidatos da loja do ContextHub.

Modos de persistência persistence-modes

Os armazenamentos do Context Hub usam um dos seguintes modos de persistência:

  • Local: Usa o HTML5 localStorage para manter os dados. O armazenamento local é mantido no navegador em todas as sessões.
  • Sessão: Usa HTML5 sessionStorage para manter os dados. O armazenamento de sessão é mantido pela duração da sessão do navegador e está disponível em todas as janelas do navegador.
  • Cookie: Usa o suporte nativo do navegador a cookies para armazenamento de dados. Os dados de cookie são enviados de e para o servidor em solicitações HTTP.
  • Window.name: Usa a propriedade window.name para manter os dados.
  • Memória: Usa um objeto JavaScript para manter os dados.

Por padrão, o Context Hub usa o modo de persistência local. Se o navegador não suportar ou permitir HTML5 localStorage, a persistência de sessão será usada. Se o navegador não suportar ou permitir HTML5 sessionStorage, a persistência Window.name será usada.

Armazenamento de dados store-data

Internamente, os dados de armazenamento formam uma estrutura em árvore, permitindo que os valores sejam adicionados como tipos primários ou objetos complexos. Quando você adiciona objetos complexos a armazenamentos, as propriedades do objeto formam ramificações na árvore de dados. Por exemplo, o seguinte objeto complexo é adicionado a um armazenamento vazio chamado localização:

Object {
   number: 321,
   data: {
      city: "Basel",
      country: "Switzerland",
      details: {
         population: 173330,
         elevation: 260
      }
   }
}

A estrutura de árvore dos dados de armazenamento pode ser conceitualizada da seguinte maneira:

/
|- number
|- data
      |- city
      |- country
      |- details
            |- population
            |- elevation

A estrutura de árvore define itens de dados no armazenamento como pares de chave/valor. No exemplo acima, a chave /number corresponde ao valor 321e a chave /data/country corresponde ao valor Switzerland.

Manipulação de objetos manipulating-objects

O ContextHub fornece o ContextHub.Utils.JSON.tree para manipular objetos JavaScript. Use as funções dessa classe para manipular objetos JavaScript antes de adicioná-los a um armazenamento ou depois de obtê-los de um armazenamento.

Além disso, a variável ContextHub.Utils.JSON A classe fornece funções para serializar objetos para sequências e desserializar sequências para objetos. Use essa classe para manipular dados JSON para suportar navegadores que não incluem nativamente o JSON.parse e JSON.stringify funções.

Interagir com lojas ContextHub interacting-with-contexthub-stores

Use o ContextHub JavaScript object para obter um armazenamento como um objeto JavaScript. Depois de obter o objeto de armazenamento, você pode manipular os dados que ele contém. Use o getAllStores ou o getStore função para obter o armazenamento.

Acessar dados da loja accessing-store-data

A variável ContexHub.Store.Core A classe JavaScript define várias funções para interagir com os dados de armazenamento. As funções a seguir armazenam e recuperam vários itens de dados contidos em objetos:

Os itens de dados individuais são armazenados como um conjunto de pares de chave-valor. Para armazenar e recuperar valores, especifique a chave correspondente:

Os candidatos de armazenamento personalizado podem definir funções adicionais que forneçam acesso aos dados armazenados.

NOTE
Por padrão, o ContextHub não reconhece o logon atual usado em servidores de publicação e esses usuários são considerados pelo ContextHub como "Anônimos".
Você pode tornar o ContextHub ciente dos usuários conectados ao carregar o armazenamento de perfil. Consulte exemplo de código no GitHub aqui.

Eventos do ContextHub contexthub-eventing

O ContextHub inclui uma estrutura de eventos que permite que você reaja automaticamente aos eventos de armazenamento. Cada objeto de armazenamento contém um ContextHub.Utils.Eventing objeto que está disponível como o eventing propriedade. Use o on ou once para vincular uma função JavaScript a um evento de armazenamento.

Utilização do Context Hub para manipular cookies using-context-hub-to-manipulate-cookies

A API JavaScript do Context Hub oferece suporte entre navegadores para manipular cookies do navegador. A variável ContextHub.Utils.Cookie O namespace define várias funções para criar, manipular e excluir cookies.

Determinar segmentos resolvidos do ContextHub determining-resolved-contexthub-segments

O mecanismo de segmento do ContextHub permite determinar quais dos segmentos registrados são resolvidos no contexto atual. Use a função getResolvedSegments do ContextHub.SegmentEngine.SegmentManager classe para recuperar segmentos resolvidos. Em seguida, use o getName ou getPath função da ContextHub.SegmentEngine.Segment classe a ser testada para um segmento.

Segmentos ContextHub contexthub-segments

Os segmentos do ContextHub são instalados abaixo do /conf/<site>/settings/wcm/segments nó.

Os seguintes segmentos são instalados com o Site tutorial do WKND.

  • verão
  • inverno

As regras usadas para resolver esses segmentos são resumidas da seguinte maneira:

WARNING
Os segmentos instalados são fornecidos como configurações de referência para ajudar você a criar sua própria configuração dedicada para o projeto. Não os utilize diretamente.

Depuração do ContextHub debugging-contexthub

Há várias opções para depurar o ContextHub, incluindo a geração de logs. Consulte Configuração do ContextHub para obter mais informações.

Consulte uma visão geral da estrutura do ContextHub see-an-overview-of-the-contexthub-framework

O ContextHub fornece uma página de diagnósticos onde você pode ter uma visão geral da estrutura do ContextHub.

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab