Por vezes, é necessário criar um grande conjunto de páginas que compartilham a mesma estrutura, mas têm conteúdo diferente. Na interface padrão do AEM, é necessário criar cada página, arrastar os componentes apropriados para a página e preencher cada um deles individualmente.
Com o scaffolding, é possível criar um formulário (um scaffold) com os campos que refletem a estrutura desejada para suas páginas e usar este formulário para criar facilmente as páginas com base nesta estrutura.
O scaffolding (na interface clássica) respeita a herança MSM.
Os scaffolds são armazenados no console de Ferramentas do administrador do site.
O scaffold consiste em um formulário com um campo para cada parte de conteúdo que compõe a página a ser criada e quatro parâmetros importantes que são acessados por meio da variável Propriedades da página da página de scaffold.
As propriedades de scaffolding de página são:
O corpo do scaffold é o formulário. Quando um usuário desejar criar uma página usando o scaffold, ele preenche o formulário e clica em Criar, na parte inferior. No exemplo News acima, o formulário apresenta os seguintes campos:
Para criar um novo scaffold, acesse Ferramentas , em seguida Andaime de página padrão e criar uma nova página. Um tipo de modelo de página única estará disponível, a variável Modelo de scaffolding.
Vá para o Propriedades da página da nova página e defina a variável Texto do título, Descrição, Modelo de destino e Caminho do Target, conforme descrito acima.
Em seguida, é necessário definir a estrutura da página que este scaffold criará. Para fazer isso, acesse modo de design na página de scaffold. Um link será exibido, permitindo editar o scaffold no editor de caixas de diálogo.
Usando o editor de caixas de diálogo, você especifica as propriedades que serão criadas sempre que uma nova página for criada utilizando este scaffold.
A definição da caixa de diálogo para um scaffold funciona de maneira semelhante à de um componente (consulte Componentes). No entanto, algumas diferenças importantes se aplicam:
sling:resourceType
do parágrafo é preenchida automaticamente quando o parágrafo é criado. Com um scaffold, todas as informações que definem o conteúdo e o componente atribuído para um determinado parágrafo deve ser fornecidas pela própria caixa de diálogo. Nas caixas de diálogo de scaffold, essas informações devem ser fornecidas usando campos Ocultos para enviá-las o momento de criação da página.É útil consultar o exemplo da caixa de diálogo de scaffold News no editor de caixas de diálogo para ver como isso funciona. Entre no modo de design na página de scaffold e clique no link do editor de caixas de diálogo.
Agora, clique no campo de diálogo Caixa de diálogo > Painel de guias > Texto > Texto assim:
A lista de propriedades para esse campo será exibida no lado direito do editor de caixa de diálogo, da seguinte forma:
Observe a propriedade de nome desse campo. Ela tem o valor
./jcr:content/par/text/text
Esse é o nome da propriedade na qual o conteúdo deste campo será gravado quando o scaffold for usado para criar uma página. A propriedade é exibida como um caminho relativo do nó que representa a página a ser criada. Especifica o texto da propriedade, abaixo do texto do nó, que está abaixo do par de nós secundário do nó jcr:content, localizado abaixo do nó da página.
Isso define o local de armazenamento de conteúdo para o texto que será inserido neste campo. No entanto, também é necessário especificar duas ou mais características para esse conteúdo:
Observe que, em uma caixa de diálogo de componentes normal, não seria necessário especificar essas informações porque estão implícitas no fato de que a caixa de diálogo já está vinculada a um componente específico.
Para especificar essas duas informações, use campos ocultos. Clique no primeiro campo oculto Caixa de diálogo > Painel de guias > Texto > Oculto assim:
As propriedades desse campo oculto são as seguintes:
A propriedade nome desse campo oculto é
./jcr:content/par/text/textIsRich
Esta é uma propriedade booleana usada para interpretar a string de texto armazenada em ./jcr:content/par/text/text
.
Como sabemos que o texto deve ser interpretado como rich text, especificamos a propriedade value
(valor) do campo como true
.
O editor de caixas de diálogo permite que o usuário altere os valores de existente na definição da caixa de diálogo. Para adicionar uma nova propriedade, o usuário deve usar o CRXDE Lite. Por exemplo, quando um novo campo oculto é adicionado a uma definição de caixa de diálogo com o editor de caixa de diálogo, ele não tem uma propriedade value (ou seja, uma propriedade com o nome “value”). Se o campo oculto na pergunta exigir a definição de uma propriedade value padrão, essa propriedade deverá ser adicionada manualmente com uma das ferramentas de CRX. O valor não pode ser adicionado com o próprio editor de caixas de diálogo. No entanto, quando a propriedade estiver presente, seu valor poderá ser editado com o editor de caixa de diálogo.
O segundo campo oculto pode ser visualizado ao clicá-lo da seguinte maneira:
As propriedades desse campo oculto são as seguintes:
A propriedade nome desse campo oculto é
./jcr:content/par/text/sling:resourceType
e o valor fixo especificado para essa propriedade é
foundation/components/textimage
Isso especifica que o componente a ser usado para renderizar o conteúdo de texto deste parágrafo é o componente de Imagem de texto. Usar com o isRichText
booleano especificado no outro campo oculto, o componente pode renderizar a cadeia de caracteres de texto real armazenada em ./jcr:content/par/text/text
da forma desejada.
Na interface clássica, o scaffolding é totalmente integrado com herança MSM (quando aplicável).
Quando você abre uma página no modo Scaffolding (usando o ícone na parte inferior do sidekick), todos os componentes sujeitos à herança serão indicados por:
Esses itens mostram que o componente não pode ser editado até que a herança seja cancelada.
Isso é comparável aos componentes herdados ao editar o conteúdo da página.
Clicar no símbolo de cadeado ou no ícone de imagem permite interromper a herança:
Depois de desbloquear, é possível restaurar a herança, clicando no símbolo de cadeado desbloqueado (essa ação descartará todas as alterações feitas).
Se a herança for cancelada no nível da página (na guia Livecopy das Propriedades da página), todos os componentes poderão ser editados em Andaime (serão exibidos no estado desbloqueado).