Modelos são usados em vários pontos no AEM:
Ao criar uma página, selecione um modelo. Esse modelo é usado como base para a nova página. O modelo define a estrutura da página, qualquer conteúdo inicial e o componentes que podem ser usadas (propriedades de design).
Ao criar um fragmento de conteúdo, você também seleciona um modelo. Esse template define a estrutura, os elementos iniciais e as variações.
Os seguintes templates são abordados em detalhes:
O AEM agora oferece dois tipos básicos de modelos para a criação de páginas:
Ao usar um modelo para criar uma 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.
Os modelos editáveis agora são considerados práticas recomendadas para desenvolvimento com AEM.
As vantagens dos Modelos editáveis:
Foram introduzidos para permitir que você defina o seguinte para qualquer página criada com o modelo:
Após a criação da nova página, uma conexão dinâmica é mantida entre a página e o modelo. Essa conexão significa que as alterações na estrutura do modelo são refletidas em qualquer página criada com esse modelo; as alterações no conteúdo inicial não são refletidas.
Usa políticas de conteúdo (editadas pelo editor de modelo) para manter as propriedades de design (não usa o modo Design no editor de páginas).
São armazenados em /conf
Consulte Modelos editáveis para obter mais informações.
Modelos estáticos:
/apps
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 do AEM As ferramentas do podem ajudar a migrar de modelos estáticos para editáveis.
O AEM oferece várias propriedades para controlar os modelos permitidos em Sites. No entanto, combiná-los pode levar a regras complexas que são difíceis de rastrear e gerenciar.
Portanto, o Adobe recomenda que você comece de forma simples, definindo:
somente o cq:allowedTemplates
propriedade
somente na raiz do site
Para obter um exemplo, consulte We.Retail: /content/we-retail/jcr:content
As propriedades allowedPaths
, allowedParents
, e allowedChildren
O também pode ser colocado nos modelos para definir regras mais sofisticadas. No entanto, sempre que possível, muito mais simples de definir cq:allowedTemplates
propriedades nas subseções do site se houver necessidade de restringir ainda mais os modelos permitidos.
Uma vantagem extra é que o cq:allowedTemplates
as propriedades podem ser atualizadas por um autor na Avançado guia do Propriedades da página. As outras propriedades do template 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 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
é usado para que uma nova página seja colocada como secundária da página P
. Cada uma dessas propriedades é uma string de vários valores que contém zero ou mais expressões regulares usadas para correspondência com caminhos:
A variável cq:allowedTemplates
propriedade do jcr:content
subnó de P
ou um ancestral de P
.
A variável allowedPaths
propriedade de T
.
A variável allowedParents
propriedade de T
.
A variável allowedChildren
propriedade do modelo de P
.
A avaliação funciona da seguinte forma:
O primeiro não vazio cq:allowedTemplates
propriedade encontrada ao aumentar a hierarquia de páginas que começa com P
corresponde ao caminho de T
. Se nenhum dos valores for correspondente, T
foi rejeitada.
Se T
tem um não vazio allowedPaths
propriedade, mas nenhum dos valores corresponde ao caminho de P
, T
foi rejeitada.
Se ambas as propriedades acima estiverem vazias ou não existirem, T
é rejeitada, a menos que pertença ao mesmo aplicativo que P
. T
pertence ao mesmo aplicativo que P
se e somente se o nome do segundo nível do caminho de T
é o mesmo que o nome do segundo nível do caminho de P
. Por exemplo, o template /apps/geometrixx/templates/foo
pertence ao mesmo aplicativo que a página /content/geometrixx
.
Se T
tem um não vazio allowedParents
propriedade, mas nenhum dos valores corresponde ao caminho de P
, T
foi rejeitada.
Se o modelo de P
tem um não vazio allowedChildren
propriedade, mas nenhum dos valores corresponde ao caminho de T
, T
foi rejeitada.
Em todos os outros casos, T
é permitido.
O diagrama a seguir descreve o processo de avaliação do modelo:
Para limitar quais modelos podem ser usados para criar páginas secundárias em uma determinada página, use o cq:allowedTemplates
propriedade de jcr:content
nó da página para especificar a lista de modelos que podem ser páginas secundárias. Cada valor na lista deve ser um caminho absoluto para um modelo de uma página secundária permitida, por exemplo /apps/geometrixx/templates/contentpage
.
Você pode usar o cq:allowedTemplates
propriedade no modelo jcr:content
para que esta configuração seja aplicada a todas as páginas recém-criadas que usam este modelo.
Se quiser adicionar mais restrições, por exemplo, em relação à hierarquia do template, você poderá usar o allowedParents/allowedChildren
propriedades no modelo. Em seguida, é possível especificar explicitamente que as páginas criadas a partir de um modelo T devem ser páginas principais/secundárias das páginas criadas a partir de um modelo T.
Consulte Modelos de fragmentos do conteúdo.