AEM 6.4 chegou ao fim do suporte estendido e esta documentação não é mais atualizada. Para obter mais detalhes, consulte nossa períodos de assistência técnica. Encontre as versões compatíveis here.
Os modelos editáveis foram introduzidos em:
Permitir autores especializados criar e editar modelos.
template-authors
grupo.Forneça modelos que mantenham uma conexão dinâmica com qualquer página criada a partir delas. Isso garante que todas as alterações no modelo sejam refletidas nas próprias páginas.
Tornar o componente de página mais genérico para que o componente de página principal possa ser usado sem personalização.
Com modelos editáveis, as partes que fazem uma página são isoladas nos componentes. Você pode configurar as combinações necessárias de componentes em uma interface do usuário, eliminando a necessidade de um novo componente de página ser desenvolvido para cada variação de página.
AEM 6.4.5.0 ou posterior é necessário para usar modelos editáveis com a variável Editor de SPA.
Modelos estáticos também estão disponíveis.
Este documento:
Fornece uma visão geral da criação de modelos editáveis
Descreve as tarefas de administrador/desenvolvedor necessárias para criar modelos editáveis
Descreve os fundamentos técnicos dos modelos editáveis
Este documento pressupõe que você já está familiarizado com a criação e edição de modelos. Consulte o documento de criação Criação de modelos de página, que detalha os recursos de modelos editáveis conforme expostos ao autor do modelo.
O tutorial a seguir também pode ser de interesse para configurar um modelo de página editável em um novo projeto:
Introdução ao AEM Sites Parte 2 - Criação de uma página base e um modelo
A criação de modelos editáveis é feita principalmente com o console modelo e editor de modelo por um autor de modelo. Esta seção fornece uma visão geral desse processo e apresenta uma descrição do que ocorre a nível técnico.
Para obter informações sobre como usar modelos editáveis em um projeto AEM, consulte Criação de um projeto AEM usando Lazybones.
Ao criar um novo modelo editável:
Crie um pasta dos modelos. Isso não é obrigatório, mas é uma prática recomendada.
Selecione um tipo de modelo. Isso é copiado para criar o definição de modelo.
Uma seleção de tipos de modelo é fornecida pronta para uso. Você também pode criar seus próprios tipos de modelo específicos de site se necessário.
Configure a estrutura, as políticas de conteúdo, o conteúdo inicial e o layout do novo template.
Estrutura
A estrutura permite definir componentes e conteúdo para o modelo.
Os componentes definidos na estrutura do modelo não podem ser movidos em uma página resultante nem excluídos de qualquer página resultante.
Se desejar que os autores da página possam adicionar e remover componentes, adicione um sistema de parágrafo ao modelo.
Os componentes podem ser desbloqueados e bloqueados novamente para permitir que você defina o conteúdo inicial.
Para obter detalhes sobre como um autor de modelo define a estrutura, consulte Criação de modelos de página.
Para obter detalhes técnicos da estrutura, consulte Estrutura neste documento.
Políticas
As políticas de conteúdo definem as propriedades de design de um componente.
Elas são aplicáveis ao modelo (e às páginas criadas com o modelo).
Para obter detalhes sobre como um autor de modelo define políticas, consulte Criação de modelos de página.
Para obter detalhes técnicos das políticas, consulte Políticas de conteúdo neste documento.
Conteúdo inicial
Para obter detalhes sobre como um autor de modelo define a estrutura, consulte Criação de modelos de página.
Para obter detalhes técnicos sobre o conteúdo inicial, consulte Conteúdo inicial neste documento.
Layout
Para obter detalhes sobre como um autor de modelo define o layout do modelo, consulte Criação de modelos de página.
Para obter detalhes técnicos sobre o layout do modelo, consulte Layout neste documento.
Ative o modelo e permita árvores de conteúdo específico.
Para obter detalhes sobre como um autor de modelo habilita um modelo, consulte Criação de modelos de página.
Para obter detalhes técnicos sobre como ativar um modelo, consulte Ativar e permitir um modelo para nóse neste documento
Use-o para criar páginas de conteúdo.
Para obter detalhes sobre como um autor de página usa modelos para criar uma página, consulte Criar e organizar páginas.
Para obter detalhes técnicos sobre como criar páginas com modelos editáveis, consulte Páginas de conteúdo resultante neste documento.
Nunca insira qualquer informação que precise ser internacionalizada em um modelo. Para fins de internalização, o recursos de localização dos Componentes principais são recomendadas.
Os modelos são ferramentas eficientes para simplificar o fluxo de trabalho de criação de página. No entanto, usar modelos em excesso pode sobrecarregar os autores e tornar confusa a criação da página. Uma boa regra geral é manter o número de modelos abaixo de 100.
A Adobe não recomenda ter mais de 1000 modelos devido a possíveis impactos no desempenho.
A biblioteca cliente do editor assume a presença do cq.shared
namespace nas páginas de conteúdo e se estiver ausente do erro de JavaScript Uncaught TypeError: Cannot read property 'shared' of undefined
resultará em .
Todas as páginas de conteúdo de exemplo contêm cq.shared
, portanto, qualquer conteúdo baseado neles inclui automaticamente cq.shared
. No entanto, se você decidir criar suas próprias páginas de conteúdo do zero sem basear-nas no conteúdo de amostra, deverá incluir a variável cq.shared
namespace.
Consulte Usar bibliotecas do lado do cliente para obter mais informações.
Para organizar seus modelos, você pode usar as seguintes pastas:
global
Específico do site
As pastas específicas do site que você cria para organizar seus modelos são criadas com uma conta contendo privilégios de administrador.
Mesmo que você possa aninhar suas pastas, quando o usuário as visualiza no Modelos Eles são apresentados como uma estrutura plana.
Em uma instância padrão do AEM, a pasta global já existe no console modelo. Isso mantém modelos padrão e atua como um fallback se nenhuma política e/ou tipo de modelo for localizado na pasta atual. Você pode adicionar seus modelos padrão a esta pasta ou criar uma nova pasta (recomendado).
É prática recomendada criar uma nova pasta para manter seus modelos personalizados e não usar a pasta global.
As pastas devem ser criadas por um usuário com admin
direitos.
Os tipos e políticas de modelo são herdados em todas as pastas de acordo com a seguinte ordem de precedência:
/conf/global
/apps
/libs
Uma lista de todas as entradas permitidas é criada. Se alguma configuração se sobrepõe ( path
/ label
), somente a instância mais próxima da pasta atual é apresentada ao usuário.
Para criar uma nova pasta, você pode fazer o seguinte:
Uma nova pasta (em /conf) pode ser criada para sua instância de forma programática ou com o CRXDE Lite.
Deve ser utilizada a seguinte estrutura:
/conf
<your-folder-name> [sling:Folder]
settings [sling:Folder]
wcm [cq:Page]
templates [cq:Page]
policies [cq:Page]
Em seguida, você pode definir as seguintes propriedades no nó raiz da pasta:
<your-folder-name> [sling:Folder]
Nome: jcr:title
String
Em adição às permissões e privilégios de criação padrão (por exemplo, content-authors
) agora é necessário atribuir grupos e definir os direitos de acesso necessários (ACLs) para que os autores possam criar modelos na nova pasta.
O template-authors
grupo é o grupo padrão que precisa ser atribuído. Consulte a seguinte seção ACLs e grupos para obter detalhes.
Consulte Gerenciamento de direitos de acesso para obter detalhes completos sobre a gestão e atribuição de direitos de acesso.
Ir para Navegação global -> Ferramentas > Navegador de configuração.
As pastas existentes são listadas à esquerda, incluindo o global pasta.
Clique em Criar.
No Criar configuração os seguintes campos precisam ser configurados:
Clique em Criar
No Navegador de configuração, você pode editar a pasta global e ativar o Modelos editáveis , se desejar criar modelos nessa pasta, no entanto, essa não é a prática recomendada.
Consulte a Documentação do Navegador de configuração para obter mais informações.
Depois que as pastas de modelo são criadas (via CRXDE ou com o Navegador de configuração), as ACLs devem ser definidas para os grupos apropriados para as pastas de modelo para garantir a segurança adequada.
As pastas de modelo para a Implementação de referência We.Retail pode ser usado como exemplo.
O template-authors
grupo é o grupo usado para gerenciar o acesso a modelos e vem como padrão com AEM, mas está vazio. Os usuários devem ser adicionados ao grupo para o projeto/site.
O template-authors
grupo é only para usuários que devem ser capazes de criar novos templates.
A edição de modelos é muito poderosa e, se não for feita, os modelos existentes podem ser quebrados. Portanto, essa função deve ser focada e incluir apenas usuários qualificados.
A tabela a seguir detalha as permissões necessárias para a edição de modelo.
Caminho | Função / Grupo | Permissões |
Descrição |
---|---|---|---|
/conf/<your-folder>/settings/wcm/templates |
Autores do modelo |
ler, escrever, replicar | Autores de modelo que criam, leem, atualizam, excluem e replicam modelos em um site específico /conf espaço |
Usuário Anônimo da Web | ler | O Usuário Anônimo da Web deve ler modelos ao renderizar uma página | |
Autores de conteúdo | replicar | replicateContent autores precisam ativar os modelos de uma página ao ativar uma página | |
/conf/<your-folder>/settings/wcm/policies |
Template Author |
ler, escrever, replicar | Autores de modelo que criam, leem, atualizam, excluem e replicam modelos em um site específico /conf espaço |
Usuário Anônimo da Web | ler | O Usuário Anônimo da Web deve ler as políticas ao renderizar uma página | |
Autores de conteúdo | replicar | Os autores de conteúdo precisam ativar as políticas de um modelo de uma página ao ativar uma página | |
/conf/<site>/settings/template-types |
Autor do modelo | ler | O autor do modelo cria um novo modelo com base em um dos tipos de modelo predefinidos. |
Usuário Anônimo da Web | nenhuma | O Usuário Anônimo da Web não deve acessar os tipos de modelo |
Esse padrão template-authors
abrange apenas as configurações do projeto, em que todas as template-authors
os membros têm permissão para acessar e criar todos os modelos. Para configurações mais complexas, onde vários grupos de autores de modelo são necessários para separar o acesso a modelos, mais grupos de autores de modelo personalizados devem ser criados. No entanto, as permissões para os grupos de autores de modelo ainda seriam as mesmas.
Os modelos não devem mais ser armazenados em /conf/global
, no entanto, para algumas instalações herdadas ainda pode haver modelos neste local. SOMENTE em tais situações herdadas deve /conf/global
os caminhos devem ser configurados explicitamente.
Caminho | Função / Grupo | Permissões |
Descrição |
---|---|---|---|
/conf/global/settings/wcm/templates |
Autores do modelo | ler, escrever, replicar | Autores de modelo que criam, leem, atualizam, excluem e replicam modelos em /conf/global |
Usuário Anônimo da Web | ler | O Usuário Anônimo da Web deve ler modelos ao renderizar uma página | |
Autores de conteúdo | replicar | Os autores de conteúdo precisam ativar os modelos de uma página ao ativar uma página | |
/conf/global/settings/wcm/policies |
Template Author |
ler, escrever, replicar | Autores de modelo que criam, leem, atualizam, excluem e replicam modelos em /conf/global |
Usuário Anônimo da Web | ler | O Usuário Anônimo da Web deve ler as políticas ao renderizar uma página | |
Autores de conteúdo | replicar | Os autores de conteúdo precisam ativar as políticas de um modelo de uma página ao ativar uma página | |
/conf/global/settings/wcm/template-types |
Autor do modelo | ler | O autor do modelo cria um novo modelo com base em um dos tipos de modelo predefinidos |
Usuário Anônimo da Web | nenhuma | O Usuário Anônimo da Web não deve acessar os tipos de modelo |
Ao criar um novo modelo, você precisa especificar um tipo de modelo:
Os tipos de modelo fornecem modelos para um modelo de maneira eficaz. Ao criar um novo template, a estrutura e o conteúdo inicial do tipo de template selecionado são usados para criar o novo template.
Os tipos de templates permitem definir:
AEM fornece uma pequena seleção de tipos de modelo prontos para uso, como Página do HTML5 e Página do formulário adaptável.
Os tipos de modelo geralmente são definidos pelos desenvolvedores.
Os tipos de modelo prontos para uso são armazenados em:
/libs/settings/wcm/template-types
Você não deve alterar nada na variável /libs
caminho. Isso ocorre porque o conteúdo da variável /libs
O é substituído na próxima vez que você atualizar sua instância (e pode ser substituído quando você aplicar um hotfix ou pacote de recursos).
Os tipos de modelo específicos do site devem ser armazenados no local comparável de:
/apps/settings/wcm/template-types
As definições dos tipos de modelos personalizados devem ser armazenadas em pastas definidas pelo usuário (recomendado) ou, alternativamente, em global
. Por exemplo:
/conf/<my-folder-01>/<my-folder-02>/settings/wcm/template-types
/conf/<my-folder>/settings/wcm/template-types
/conf/global/settings/wcm/template-types
Os tipos de modelo devem respeitar a estrutura correta da pasta (ou seja, /settings/wcm/...
), caso contrário, os tipos de modelo não serão encontrados.
O grupos de dispositivos usado para um modelo editável (definido como caminho relativo da propriedade) cq:deviceGroups
) defina quais dispositivos móveis estão disponíveis como emuladores no modo de layout da criação de página. Esse valor pode ser definido em dois lugares:
Ao criar um novo modelo editável, o valor é copiado do tipo de modelo para o modelo individual. Se o valor não estiver definido no tipo , ele poderá ser definido no template. Depois que um template é criado, não há herança do tipo para o template.
O valor de cq:deviceGroups
deve ser definido como um caminho relativo, como mobile/groups/responsive
e não como um caminho absoluto, como /etc/mobile/groups/responsive
.
Com modelos estáticos, o valor de cq:deviceGroups
pode ser definido na raiz do site.
Com modelos editáveis, esse valor agora é armazenado no nível do modelo e não é compatível no nível da raiz da página.
Se você criou um template que pode servir como base de outros templates, é possível copiar esse template como um tipo de template.
templates
para template-types
nó sob o pasta de modelos.templates
nó sob o pasta de modelos.template-types
nó, excluir tudo cq:template
e cq:templateType
jcr:content
propriedades.Você também pode desenvolver seu próprio tipo de modelo usando um modelo editável de exemplo como base, disponível no GitHub.
CÓDIGO NO GITHUB
Você pode encontrar o código desta página no GitHub
Definições para modelos editáveis são armazenadas pastas definidas pelo usuário (recomendado) ou alternativamente em global
. Por exemplo:
/conf/<my-folder>/settings/wcm/templates
/conf/<my-folder-01>/<my-folder-02>/settings/wcm/templates
/conf/global/settings/wcm/templates
O nó raiz do modelo é do tipo cq:Template
com uma estrutura esquelética de:
<template-name>
initial
jcr:content
root
<component>
...
<component>
jcr:content
@property status
policies
jcr:content
root
@property cq:policy
<component>
@property cq:policy
...
<component>
@property cq:policy
structure
jcr:content
root
<component>
...
<component>
cq:responsive
breakpoints
thumbnail.png
Os principais elementos são:
<template-name>
jcr:content
thumbnail.png
Esse nó contém as propriedades do template:
Nome: jcr:title
Nome: status
String
draft
, enabled
ou disabled
Define a estrutura da página resultante:
É mesclado com o conteúdo inicial ( /initial
) ao criar uma nova página.
As alterações feitas na estrutura serão refletidas em qualquer página criada com o modelo.
O root
( structure/jcr:content/root
) define a lista de componentes que estarão disponíveis na página resultante.
editable
está definida como true
.initial
ramificação.O cq:responsive
nó contém definições para o layout responsivo.
Define o conteúdo inicial que uma nova página terá após a criação:
jcr:content
nó que é copiado para qualquer página nova./structure
) ao criar uma nova página.root
contém uma lista de componentes para definir o que estará disponível na página resultante.When editar um modelo, você pode definir o layout, isso usa layout responsivo padrão isso também pode ser configurado.
As políticas de conteúdo (ou design) definem as propriedades de design de um componente. Por exemplo, os componentes disponíveis ou as dimensões mínima/máxima. Elas são aplicáveis ao modelo (e às páginas criadas com o modelo). As políticas de conteúdo podem ser criadas e selecionadas no editor de modelo.
A propriedade cq:policy
, no root
nó
/conf/<your-folder>/settings/wcm/templates/<your-template>/policies/jcr:content/root
Fornece uma referência relativa à política de conteúdo para o sistema de parágrafo da página.
A propriedade cq:policy
, nos nós explícitos de componente em root
, fornecer links para as políticas dos componentes individuais.
As definições reais de política são armazenadas em:
/conf/<your-folder>/settings/wcm/policies/wcm/foundation/components
Os caminhos das definições de política dependem do caminho do componente. cq:policy
mantém uma referência relativa à própria configuração.
As páginas criadas a partir de modelos editáveis não oferecem um modo de Design no editor de páginas.
O policies
a árvore de um modelo editável tem a mesma hierarquia que a configuração do modo de design de um modelo estático em:
/etc/designs/<my-site>/jcr:content/<component-name>
A configuração do modo de design de um modelo estático foi definida por componente de página.
As políticas de página permitem definir a variável política de conteúdo para a página (parsys principal), no modelo ou nas páginas resultantes.
Ativar o modelo
Antes de um modelo poder ser usado, ele deve ser habilitado por:
Ativação do template do Modelos console.
Definir a propriedade de status na jcr:content
nó .
Por exemplo, em:
/conf/<your-folder>/settings/wcm/templates/<your-template>/jcr:content
Defina a propriedade :
enabled
Modelos permitidos
Defina os caminhos de Modelo permitidos no Propriedades da página da página ou página raiz apropriada de uma subramificação.
Defina a propriedade :
cq:allowedTemplates
No jcr:content
nó da ramificação necessária.
Por exemplo, com um valor de:
/conf/<your-folder>/settings/wcm/templates/.*;
Páginas criadas a partir de modelos editáveis:
São criados com uma subárvore que é unida a partir de structure
e initial
no modelo
Ter referências às informações contidas no modelo e tipo de modelo. Isso é feito com uma jcr:content
com as propriedades:
cq:template
Fornece a referência dinâmica ao modelo real; permite que as alterações no modelo sejam refletidas nas páginas reais.
cq:templateType
Fornece uma referência ao tipo de modelo.
O diagrama acima mostra como os modelos, o conteúdo e os componentes se relacionam:
Controlador - /content/<my-site>/<my-page>
A página resultante que faz referência ao modelo. O conteúdo controla todo o processo. De acordo com as definições, ele acessa o modelo e os componentes apropriados.
Configuração - /conf/<my-folder>/settings/wcm/templates/<my-template>
O modelo e políticas de conteúdo relacionadas defina a configuração da página.
Modelo - Pacotes OSGi
O Pacotes OSGI implemente a funcionalidade.
Exibir - /apps/<my-site>/components
Nos ambientes do autor e de publicação, o conteúdo é renderizado por componentes.
Ao renderizar uma página:
Modelos:
cq:template
propriedade da jcr:content
será referenciado para acessar o modelo que corresponde a essa página.Componentes:
O componente de página mesclará o structure/jcr:content
árvore do modelo com o jcr:content
da página.
O componente de página permitirá que o autor edite apenas os nós da estrutura do modelo que foram sinalizados como editáveis (bem como qualquer filho).
Ao renderizar um componente em uma página, o caminho relativo desse componente será retirado do jcr:content
nó; o mesmo caminho sob o policies/jcr:content
O nó do template será pesquisado.
cq:policy
a propriedade desse nó aponta para a política de conteúdo real (ou seja, contém a configuração de design desse componente).