Andaime scaffolding
Às vezes, pode ser necessário criar um grande conjunto de páginas que compartilha a mesma estrutura, mas tem um conteúdo diferente. Por meio da interface de AEM padrão, seria necessário criar cada página, arrastar os componentes apropriados para a página e preencher cada um deles individualmente.
Com o scaffolding, você pode criar um formulário (um scaffold) com os campos que refletem a estrutura desejada para suas páginas e usar esse formulário para criar facilmente páginas com base nessa estrutura.
Como o scaffolding funciona how-scaffolding-works
Os scaffolds são armazenados no Ferramentas do administrador do site.
-
Abra o Ferramentas e clique em Andaime de página padrão.
-
Em seguida, clique em geometrixx.
-
Em geometrixx você encontrará um página de scaffold chamado Notícias. Clique duas vezes para abrir esta página.
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 da página de scaffolding são:
-
Texto do título: Este é o nome desta própria página de scaffolding. Neste exemplo, chama-se "Notícias".
-
Descrição: Isso é exibido abaixo do título na página de scaffolding.
-
Modelo de destino: Esse é o modelo que o scaffold usará ao criar uma nova página. Neste exemplo, é um Página Conteúdo Geometrrixx modelo .
-
Caminho do Target: Esse é o caminho da página pai abaixo da qual esse scaffold criará novas páginas. Neste exemplo, o caminho é /content/geometrixx/en/news.
O corpo do scaffold é o formulário. Quando um usuário deseja criar uma página usando o scaffold, ele preenche o formulário e clica em Criar, na parte inferior. No Notícias O exemplo acima do formulário tem os seguintes campos:
-
Título: Esse é o nome da página a ser criada. Este campo está sempre presente em cada scaffold.
-
Texto: Esse campo corresponde a um Componente de texto na página resultante.
-
Imagem: Esse campo corresponde a um Componente de imagem na página resultante.
-
Imagem/avançado: Título: O título da imagem.
-
Imagem/avançado: Texto alternativo: O texto alternativo da imagem.
-
Imagem/avançado: Descrição: A descrição da imagem.
-
Imagem/avançado: Tamanho: O tamanho da imagem.
-
Tags/Palavras-chave: Metadados a serem atribuídos a esta página. Este campo está sempre presente em cada scaffold.
Criação de um scaffold creating-a-scaffold
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 esse scaffold criará. Para fazer isso, acesse o modo de design na página de scaffold. Um link será exibido permitindo que você edite 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 usando esse 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:
- As definições da caixa de diálogo do componente são renderizadas como caixas de diálogo normais (como mostrado no painel médio do editor de caixa de diálogo, por exemplo) enquanto as definições da caixa de diálogo de scaffold, embora sejam exibidas como caixas de diálogo normais no editor de caixas de diálogo, são renderizadas na página de scaffold como um formulário de scaffold (como mostrado no Notícias scaffold acima).
- As caixas de diálogo de componente fornecem campos apenas para os valores necessários para definir o conteúdo de um único componente específico. Uma caixa de diálogo de scaffold deve fornecer campos para cada propriedade em cada parágrafo da página a ser criada.
- No caso de caixas de diálogo de componentes, o componente usado para renderizar o conteúdo especificado é implícito e, portanto, o
sling:resourceType
a propriedade 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 devem ser fornecidas pela própria caixa de diálogo. Nas caixas de diálogo de scaffold, essas informações devem ser fornecidas usando Oculto para enviar essas informações na criação da página.
Uma análise do exemplo Notícias a caixa de diálogo de scaffold no editor de caixas de diálogo ajuda a explicar 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 desse campo será exibida no lado direito do editor de caixas de diálogo, desta forma:
Observe a propriedade name desse campo. Ela tem o valor
./jcr:content/par/text/text
Esse é o nome da propriedade na qual o conteúdo desse campo será gravado quando o scaffold for usado para criar uma página. A propriedade é declarada 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, que é ele próprio um filho do nó jcr:content abaixo do nó da página.
Isso define o local do armazenamento de conteúdo para o texto que será inserido neste campo. No entanto, também precisamos especificar mais duas características para esse conteúdo:
- O fato de que a sequência de caracteres que está sendo armazenada aqui deve ser interpretada como rich text e
- qual componente deve ser usado para renderizar esse conteúdo na página resultante.
Observe que, em uma caixa de diálogo de componente normal, não seria necessário especificar essas informações porque estão implícitas no fato de a caixa de diálogo já estar 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 name 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 o valor value
propriedade deste campo como true
.
O segundo campo oculto pode ser visualizado ao clicar nele da seguinte maneira:
As propriedades desse campo oculto são as seguintes:
A propriedade name desse campo oculto é
./jcr:content/par/text/sling:resourceType
e o valor fixo especificado para esta propriedade é
foundation/components/textimage
"Isso especifica que o componente a ser usado para renderizar o conteúdo de texto deste parágrafo é o Imagem de texto componente. 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.
Andaime com herança MSM scaffolding-with-msm-inheritance
Na interface clássica, o scaffolding é totalmente integrado com herança MSM (quando aplicável).
Ao abrir uma página em Andaime modo (usando o ícone na parte inferior do sidekick) qualquer componente sujeito à herança será indicado por:
- Um símbolo de cadeado (para a maioria dos componentes); por exemplo, Texto e Título)
- uma máscara com o texto Clique para cancelar a herança (para componentes de imagem)
Eles mostram que o componente não pode ser editado até que a herança seja cancelada.
Clicar no símbolo de cadeado ou no ícone de imagem permite interromper a herança:
- o símbolo será alterado para um cadeado aberto.
- depois de desbloqueado, você pode editar o conteúdo.
Após desbloquear, é possível restaurar a herança clicando no símbolo de cadeado desbloqueado. Isso perderá todas as edições feitas.