Modelos

Os modelos são usados em vários pontos do AEM:

Os seguintes modelos são abordados detalhadamente:

Modelos - Páginas

O AEM agora oferece dois tipos básicos de modelos para a criação de páginas:

OBSERVAÇÃO

Ao usar um modelo para criar uma nova página não há diferença visível (para o autor da página) e nenhuma indicação do tipo de modelo que está sendo usado.

Modelos editáveis

Os modelos editáveis agora são considerados práticas recomendadas para desenvolvimento com AEM.

As vantagens dos Modelos editáveis:

  • Pode ser criado e editado pelos seus autores.

  • Foram introduzidas para permitir definir o seguinte para qualquer página criada com o modelo:

    • a estrutura
    • o conteúdo inicial
    • políticas de conteúdo
  • Após a criação da nova página, uma conexão dinâmica é mantida entre a página e o modelo; isso significa que as alterações na estrutura do modelo serão refletidas em qualquer página criada com esse modelo (as alterações no conteúdo inicial não serão refletidas).

  • Usa as políticas de conteúdo (editadas no editor de modelos) para manter as propriedades de design (não usa o modo Design no editor de páginas).

  • São armazenadas em /conf

  • Consulte Modelos editáveis para obter mais informações.

OBSERVAÇÃO

Um AEM Community Article está disponível para explicar como desenvolver um site Experience Manager com Modelos editáveis, consulte Criação de um site do Adobe Experience Manager 6.5 usando modelos editáveis.

Modelos estáticos

Modelos estáticos:

  • Deve ser definido e configurado pelos desenvolvedores.
  • Esse era o sistema de modelos original de AEM e estava disponível para muitas versões.
  • Um modelo estático é uma hierarquia de nós que tem a mesma estrutura que a página a ser criada, mas sem nenhum conteúdo real.
  • São copiados para criar a nova página, não existe nenhuma conexão dinâmica depois disso.
  • Usos Modo Design para manter as propriedades de design.
  • São armazenadas em /apps
  • Consulte Modelos estáticos para obter mais informações.
OBSERVAÇÃO

A partir do AEM 6.5, o uso de Modelos estáticos não é considerado uma prática recomendada. Em vez disso, use Modelos editáveis.

Modernização AEM As ferramentas podem ajudá-lo a migrar de modelos estáticos para editáveis.

Disponibilidade de modelo

ATENÇÃO

AEM oferece várias propriedades para controlar os modelos permitidos em Sites. No entanto, combiná-las pode levar a regras muito complexas, que são difíceis de rastrear e gerenciar.

Portanto, o Adobe recomenda que você comece de forma simples, definindo:

  • somente a variável cq:allowedTemplates propriedade

  • somente na raiz do site

Para obter um exemplo, consulte We.Retail: /content/we-retail/jcr:content

As propriedades allowedPaths, allowedParentse allowedChildren também pode ser colocado nos templates para definir regras mais sofisticadas. No entanto, quando possível, é many mais simples de definir cq:allowedTemplates propriedades nas subseções do site se houver a necessidade de restringir ainda mais os modelos permitidos.

Uma vantagem adicional é que a variável cq:allowedTemplates As propriedades podem ser atualizadas por um autor na função Avançado da guia Propriedades da página. As outras propriedades do modelo não podem ser atualizadas usando a interface do usuário (padrão), portanto, seria necessário um desenvolvedor para manter as regras e uma implantação de código para cada alteração.

Ao criar uma nova página na interface de administração do site, a lista de modelos disponíveis depende do local da nova página e das restrições de posicionamento especificadas em cada modelo.

As seguintes propriedades determinam se um modelo T pode ser usada para que uma nova página seja colocada como filho de página P. Cada uma dessas propriedades é uma string com vários valores, contendo zero ou mais Expressões Regulares, usadas para correspondência com caminhos:

  • O cq:allowedTemplates da jcr:content subnó de P ou um antepassado de P.

  • O allowedPaths propriedade de T.

  • O allowedParents propriedade de T.

  • O allowedChildren propriedade do modelo de P.

A avaliação funciona do seguinte modo:

  • O primeiro não vazio cq:allowedTemplates propriedade encontrada ao ascender a hierarquia de página começando com P corresponde ao caminho de T. Se nenhum dos valores corresponder, T é rejeitada.

  • If T tem um não vazio allowedPaths , mas nenhum dos valores corresponde ao caminho de P, T é rejeitada.

  • Se ambas as propriedades acima estiverem vazias ou inexistentes, T é rejeitada, a menos que pertença ao mesmo pedido que P. T pertence ao mesmo aplicativo que P se e somente se o nome do segundo nível do caminho de T é igual ao nome do segundo nível do caminho de P. Por exemplo, o modelo /apps/geometrixx/templates/foo pertence ao mesmo aplicativo que a página /content/geometrixx.

  • If T tem um não vazio allowedParents , mas nenhum dos valores corresponde ao caminho de P, T é rejeitada.

  • Se o modelo de P tem um não vazio allowedChildren , mas nenhum dos valores corresponde ao caminho de T, T é rejeitada.

  • Em todos os outros casos, T é permitido.

O diagrama a seguir descreve o processo de avaliação do template:

chlimage_1-176

Limitação de modelos usados em páginas filhas

Para limitar quais modelos podem ser usados para criar páginas filhas em uma determinada página, use o cq:allowedTemplates propriedade de jcr:content nó da página para especificar a lista de modelos a serem permitidos como páginas secundárias. Cada valor na lista deve ser um caminho absoluto para um modelo para uma página secundária permitida, por exemplo /apps/geometrixx/templates/contentpage.

Você pode usar o cq:allowedTemplates na propriedade do modelo jcr:content para que essa configuração seja aplicada a todas as páginas recém-criadas que usam esse modelo.

Se quiser adicionar mais restrições, por exemplo, em relação à hierarquia do modelo, use a variável allowedParents/allowedChildren propriedades no modelo. Você pode especificar explicitamente que as páginas criadas a partir de um modelo T devem ser pais/filhos de páginas criadas a partir de um modelo T.

Modelos - Fragmentos de conteúdo

Consulte Modelos de fragmentos do conteúdo para obter informações completas.

Nesta página