A veces, es posible que necesite crear un conjunto grande de páginas que comparten la misma estructura pero tienen contenido diferente. A través de la interfaz de AEM estándar, necesitaría crear cada página, arrastrar los componentes correspondientes a la página y rellenar cada uno individualmente.
Con scaffolding, puede crear un formulario (un scaffold) con campos que reflejen la estructura que desee para sus páginas y luego usar este formulario para crear fácilmente páginas según esta estructura.
El scaffolding (en la IU clásica) respeta la herencia de MSM.
Los andamios se almacenan en Herramientas consola del administrador del sitio.
El andamiaje consiste en un formulario con un campo para cada parte de contenido que conformará la página que se va a crear y cuatro parámetros importantes a los que se accede a través del Propiedades de página de la página andamiaje.
Las propiedades de página de scaffolding son:
El cuerpo del scaffold es el formulario. Cuando un usuario desea crear una página con el scaffold, el usuario completa el formulario y hace clic en Crear, en la parte inferior. En el ejemplo Noticias de arriba, el formulario tiene los siguientes campos:
Para crear un nuevo andamio, vaya al Herramientas consola, entonces Andamiaje de página predeterminada y cree una nueva página. Estará disponible un solo tipo de plantilla de página, el Plantilla de andamiaje.
Vaya a la Propiedades de página de la nueva página y configure el Texto del título, Descripción, Plantilla de destino y Ruta de destino, tal como se ha descrito anteriormente.
A continuación, tiene que definir la estructura de la página que este scaffold creará. Para ello, vaya a modo de diseño en la página andamiaje. Aparecerá un vínculo que le permitirá editar el scaffold en el editor de cuadro de diálogo.
Con el editor de cuadro de diálogo, especifica las propiedades que se crearán cada vez que se cree una nueva página con este scaffold.
La definición de cuadro de diálogo para un scaffold funciona igual que la de un componente (consulte Componentes). Sin embargo, se aplican unas pocas diferencias importantes:
sling:resourceType
del párrafo se completa automáticamente durante la creación del párrafo. Con un scaffold, el cuadro de diálogo mismo debe proporcionar toda la información que define tanto el contenido como el componente asignado de un párrafo dado. En los cuadros de diálogo de scaffold, esta información debe proporcionarse mediante campos Oculto para enviar esta información en el momento de creación de la página.Un repaso al cuadro de diálogo de scaffold Noticias de ejemplo en el editor de cuadro de diálogo ayuda a explicar cómo funciona. Entre al modo de diseño en la página de scaffold y haga clic en el vínculo de editor de cuadro de diálogo.
Ahora, haga clic en el campo de diálogo Cuadro de diálogo > Panel de pestañas > Texto > Texto, así:
La lista de propiedades de este campo aparecerá en el lado derecho del editor de cuadro de diálogo, de esta manera:
Observe la propiedad name de este campo. Tiene el valor
./jcr:content/par/text/text
Es el nombre de la propiedad en que se escribirá el contenido de este campo cuando se use el scaffold para crear una página. La propiedad se indica como una ruta de acceso relativa desde el nodo que representa la página que se va a crear. Especifica la propiedad text, debajo del nodo text, que se encuentra debajo del nodo par, que es un nodo secundario del nodo jcr:content debajo del nodo page.
Esto define la ubicación del almacenamiento de contenido para el texto que se colocará dentro de este campo. Sin embargo, también necesitamos especificar dos características más para este contenido:
Tenga en cuenta que, en un cuadro de diálogo de componente normal, no tendría que especificar esta información, porque está implícita en el hecho de que el cuadro de diálogo ya está ligado a un componente específico.
Para especificar estos dos elementos de información, se usan campos ocultos. Haga clic en el primer campo oculto Cuadro de diálogo > Panel de pestañas > Texto > Oculto, así:
Las propiedades de este campo oculto son las siguientes:
La propiedad name de este campo oculto es
./jcr:content/par/text/textIsRich
Es una propiedad booleana que se utiliza para interpretar la cadena de texto almacenada en ./jcr:content/par/text/text
.
Como sabemos que el texto debería interpretarse como texto enriquecido, especificamos la propiedad value
de este campo como true
.
El editor de diálogos permite al usuario cambiar los valores de existente propiedades en la definición del cuadro de diálogo. Para añadir una propiedad nueva, el usuario debe utilizar CRXDE Lite. Por ejemplo, cuando se añade un nuevo campo oculto a una definición de cuadro de diálogo con el editor de cuadro de diálogo, no tiene una propiedad value (es decir, una propiedad con el nombre "value"). Si el campo oculto en cuestión requiere que se establezca una propiedad value predeterminada, entonces esta propiedad debe agregarse manualmente con una de las herramientas de CRX. El valor no puede agregarse con el editor de cuadro de diálogo mismo. Sin embargo, una vez que la propiedad está presente, su valor puede editarse con el editor de cuadro de diálogo.
El segundo campo oculto puede verse al hacer clic en él de esta manera:
Las propiedades de este campo oculto son las siguientes:
La propiedad name de este campo oculto es
./jcr:content/par/text/sling:resourceType
y el valor fijo especificado para esta propiedad es
foundation/components/textimage
Esto especifica que el componente que se usará para procesar el contenido de texto de este párrafo es el componente Imagen de texto. Uso de con isRichText
especificado en el otro campo oculto, el componente puede procesar la cadena de texto real almacenada en ./jcr:content/par/text/text
de la manera deseada.
En la IU clásica; el scaffolding está totalmente integrado con la herencia de MSM (cuando proceda).
Cuando se abre una página en modo Scaffolding (mediante el icono de la parte inferior de la barra de tareas), cualquier componente que esté sujeto a la herencia se indica con:
Esto muestra que el componente no se puede editar, hasta que se cancele la herencia.
Esto se puede comparar con los componentes heredados al editar el contenido de la página.
Hacer clic en el símbolo de bloqueo o en el icono de imagen le permite anular la herencia:
Para restaurar la herencia tras el desbloqueo, haga clic en el símbolo del candado desbloqueado: se perderán las modificaciones que haya realizado.
Si la herencia se cancela en el nivel de página (desde la pestaña LiveCopy de Propiedades de página), todos los componentes se podrán editar en Andamiaje modo (se mostrarán en estado desbloqueado).