Modelos templates
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 os componentes que podem ser usados (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:
Modelos - Páginas templates-pages
O AEM agora oferece dois tipos básicos de modelos para a criação de páginas:
Modelos editáveis editable-templates
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:
- 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. 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 static-templates
Modelos estáticos:
- Deve ser definido e configurado pelos desenvolvedores.
- O sistema de modelo original do AEM que está 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 página; não existe conexão dinâmica depois.
- Usa o Modo de Design para manter as propriedades de design.
- São armazenados em
/apps
- Consulte Modelos estáticos para obter mais informações.
Disponibilidade de modelo template-availability
-
somente a propriedade
cq:allowedTemplates
-
somente na raiz do site
/content/we-retail/jcr:content
allowedPaths
, allowedParents
e allowedChildren
também podem ser colocadas nos modelos para definir regras mais sofisticadas. No entanto, quando possível, é muito mais simples definir outras propriedades cq:allowedTemplates
em subseções do site se houver necessidade de restringir ainda mais os modelos permitidos.cq:allowedTemplates
podem ser atualizadas por um autor na guia Avançado das 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 propriedade
cq:allowedTemplates
do subnójcr:content
deP
ou um ancestral deP
. -
A propriedade
allowedPaths
deT
. -
A propriedade
allowedParents
deT
. -
A propriedade
allowedChildren
do modelo deP
.
A avaliação funciona da seguinte forma:
-
A primeira propriedade
cq:allowedTemplates
não vazia encontrada ao aumentar a hierarquia de páginas que começa comP
é comparada com o caminho deT
. Se nenhum dos valores for correspondente,T
será rejeitado. -
Se
T
tiver uma propriedadeallowedPaths
não vazia, mas nenhum dos valores corresponder ao caminho deP
,T
será rejeitado. -
Se ambas as propriedades acima estiverem vazias ou não existirem,
T
será rejeitado, a menos que pertença ao mesmo aplicativo queP
.T
pertence ao mesmo aplicativo queP
se, e somente se, o nome do segundo nível do caminho deT
é o mesmo que o nome do segundo nível do caminho deP
. Por exemplo, o modelo/apps/geometrixx/templates/foo
pertence ao mesmo aplicativo que a página/content/geometrixx
. -
Se
T
tiver uma propriedadeallowedParents
não vazia, mas nenhum dos valores corresponder ao caminho deP
,T
será rejeitado. -
Se o modelo de
P
tiver uma propriedadeallowedChildren
não vazia, mas nenhum dos valores corresponder ao caminho deT
,T
será rejeitado. -
Em todos os outros casos,
T
é permitido.
O diagrama a seguir descreve o processo de avaliação do modelo:
Limite de modelos usados em páginas secundárias limiting-templates-used-in-child-pages
Para limitar quais modelos podem ser usados para criar páginas secundárias em uma determinada página, use a propriedade cq:allowedTemplates
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 de uma página secundária permitida, por exemplo, /apps/geometrixx/templates/contentpage
.
Você pode usar a propriedade cq:allowedTemplates
no nó jcr:content
do modelo para aplicar essa configuração 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, você pode usar as propriedades allowedParents/allowedChildren
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.
Modelos - Fragmentos de conteúdo templates-content-fragments
Consulte Modelos de fragmentos de conteúdo.