Modelos

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

Os seguintes modelos são abordados detalhadamente:

Modelos - Páginas

AEM agora oferta dois tipos básicos de modelos para criar 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

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

As vantagens dos modelos editáveis:

  • Podem ser criados e editados por seus autores.

  • Foram introduzidas para permitir que você defina 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 políticas de conteúdo (editadas no editor de modelo) para persistir nas propriedades de design (não usa o modo Design no editor de página).

  • São armazenados em /conf

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

Observação

Um artigo AEM da comunidade está disponível para explicar como desenvolver um site Experience Manager com modelos editáveis. Consulte Criar um site do Adobe Experience Manager 6.4 usando modeloseditáveis.

Modelos estáticos

Modelos estáticos:

  • Deve ser definido e configurado pelos desenvolvedores.
  • Esse era o sistema de modelo 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 da página a ser criada, mas sem nenhum conteúdo real.
  • São copiados para criar a nova página; não há conexão dinâmica após isso.
  • Uses Design Mode to persist design properties.
  • São armazenados em /apps
  • Consulte Modelos estáticos para obter mais informações.
Observação

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

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

Disponibilidade do modelo

CUIDADO

AEM oferta 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ê start de forma simples, definindo:

  • somente a cq:allowedTemplates propriedade

  • somente na raiz do site

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

As propriedades allowedPaths, allowedParentse allowedChildren também podem ser colocadas nos modelos para definir regras mais sofisticadas. No entanto, quando possível, é muito mais simples definir outras cq:allowedTemplates propriedades em subseções do site se houver necessidade de restringir ainda mais os modelos permitidos.

Uma vantagem adicional é que as cq:allowedTemplates propriedades podem ser atualizadas por um autor na guia Avançado das 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 do administrador 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 propriedades a seguir determinam se um modelo T pode ser usado para uma nova página ser colocada como um filho da página P. Cada uma dessas propriedades é uma string de vários valores contendo zero ou mais Expressões Regulares usadas para correspondência com caminhos:

  • A cq:allowedTemplates propriedade do jcr:content subnó de P ou um ancestral de P.

  • A allowedPaths propriedade de T.

  • A allowedParents propriedade de T.

  • A allowedChildren propriedade do modelo de P.

A avaliação funciona do seguinte modo:

  • A primeira propriedade não vazia encontrada ao aumentar a hierarquia da página que começa com cq:allowedTemplates corresponde ao caminho de P T. Se nenhum dos valores corresponder, T será rejeitado.

  • Se T tiver uma allowedPaths propriedade não vazia, mas nenhum dos valores corresponder ao caminho de P, T será rejeitado.

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

  • Se T tiver uma allowedParents propriedade não vazia, mas nenhum dos valores corresponder ao caminho de P, T será rejeitado.

  • Se o modelo de P tiver uma allowedChildren propriedade não vazia, mas nenhum dos valores corresponder ao caminho de T, T será rejeitado.

  • Em todos os outros casos, T é permitido.

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

chlimage_1-176

Limitação de modelos usados em páginas secundárias

Para limitar quais modelos podem ser usados para criar páginas secundárias em uma determinada página, use a cq:allowedTemplates propriedade do nó jcr:content 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 a cq:allowedTemplates propriedade no jcr:content nó do modelo para aplicar essa configuração a todas as páginas recém-criadas que usam esse modelo.

Se desejar adicionar mais restrições, por exemplo, em relação à hierarquia do modelo, você pode usar as 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 fragmento de conteúdo para obter informações completas.

Nesta página