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 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:
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.
- Usos Modo 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 o
cq:allowedTemplates
propriedade -
somente na raiz do site
/content/we-retail/jcr:content
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.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 dojcr:content
subnó deP
ou um ancestral deP
. -
A variável
allowedPaths
propriedade deT
. -
A variável
allowedParents
propriedade deT
. -
A variável
allowedChildren
propriedade do modelo deP
.
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 comP
corresponde ao caminho deT
. Se nenhum dos valores for correspondente,T
foi rejeitada. -
Se
T
tem um não vazioallowedPaths
propriedade, mas nenhum dos valores corresponde ao caminho deP
,T
foi rejeitada. -
Se ambas as propriedades acima estiverem vazias ou não existirem,
T
é rejeitada, 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 template/apps/geometrixx/templates/foo
pertence ao mesmo aplicativo que a página/content/geometrixx
. -
Se
T
tem um não vazioallowedParents
propriedade, mas nenhum dos valores corresponde ao caminho deP
,T
foi rejeitada. -
Se o modelo de
P
tem um não vazioallowedChildren
propriedade, mas nenhum dos valores corresponde ao caminho deT
,T
foi rejeitada. -
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 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.
Modelos - Fragmentos de conteúdo templates-content-fragments
Consulte Modelos de fragmentos do conteúdo.