Modelos templates
Os modelos são usados em vários pontos do AEM:
-
When criação de uma página que você precisa selecionar um template; isso será usado como a base para a nova página. O modelo define a estrutura da página resultante, qualquer conteúdo inicial e a variável componentes que podem ser usadas (propriedades de design).
-
When criar um Fragmento do conteúdo, você também precisa selecionar um modelo. Esse template define a estrutura, os elementos iniciais e as variações.
Os seguintes modelos são abordados detalhadamente:
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 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.
Modelos estáticos static-templates
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.
Disponibilidade de modelo template-availability
-
somente a variável
cq:allowedTemplates
propriedade -
somente na raiz do site
/content/we-retail/jcr:content
allowedPaths
, allowedParents
e 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.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
dajcr:content
subnó deP
ou um antepassado deP
. -
O
allowedPaths
propriedade deT
. -
O
allowedParents
propriedade deT
. -
O
allowedChildren
propriedade do modelo deP
.
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 comP
corresponde ao caminho deT
. Se nenhum dos valores corresponder,T
é rejeitada. -
If
T
tem um não vazioallowedPaths
, mas nenhum dos valores corresponde ao caminho deP
,T
é rejeitada. -
Se ambas as propriedades acima estiverem vazias ou inexistentes,
T
é rejeitada, a menos que pertença ao mesmo pedido queP
.T
pertence ao mesmo aplicativo queP
se e somente se o nome do segundo nível do caminho deT
é igual ao 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
. -
If
T
tem um não vazioallowedParents
, mas nenhum dos valores corresponde ao caminho deP
,T
é rejeitada. -
Se o modelo de
P
tem um não vazioallowedChildren
, mas nenhum dos valores corresponde ao caminho deT
,T
é rejeitada. -
Em todos os outros casos,
T
é permitido.
O diagrama a seguir descreve o processo de avaliação do template:
Limitação de modelos usados em páginas filhas limiting-templates-used-in-child-pages
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 templates-content-fragments
Consulte Modelos de fragmentos do conteúdo para obter informações completas.