Template Saga 2.0 - Blog Oficial
Aprovecha OpenCms 8 al máximo

Inicio  »  blog  »  Articulos

Configuración de Formatter y Container en OpenCms 8

Ya hemos comentado en otros post que OpenCms 8 ha cambiado su filosofía a la hora de crear nuestras plantillas. Pues bien, tras profundizar un poco más en el tema hemos llegado a conocer un poco más esta nueva filosofía y que vamos a intentar explicar en base a las notas obtenidos en el estudio:

Configuración de Formatters

Los formatters son las jsp que darán formato a los contenidos (XML Contents). Según el contenedor (container) donde se muestra el contenido es posible aplicar un formatter u otro lo que nos permite cambiar la apariencia en cada caso. Por ejemplo, no es lo mismo mostrar una noticia como contenido central (con toda su información, imágenes, etc.) que mostrarlo como un destacado en una de las columnas (sin imagen y con el resumen en lugar de todo el texto). Pues bien, hay 3 lugares donde podemos configurar los formatters:

  • XSD: Directamente en el XSD que da formato al contenido, de forma que esta configuración será la tomada como configuración por defecto en el caso que no se configure en ningún otro sitio.
  • Sitemap config del módulo: Este fichero de configuración localizado en el módulo nos permite crear una configuración por defecto incluido los formmatters.
  • Sitemap config del contenido: Indicarselo directamente en el configurador del Sitemap del contenido, donde podremos personalizar los formatters para cada portal.

Los atributos a configurar de un formatter son:

  • minwidth: ancho mínimo que el contenedor debe tener para albergar el formatter
  • maxwidth: ancho máximo que el contenedor debe tener para albergar el formatter
  • uri: ruta de la jsp que implemente el formatter.
  • type: especifíca los tipos de contenedores con el cúal es compatible el formatter.
  • searchcontent: Indica si el contenido debe ser buscado.

Bien, la elección de un formatter se puede realizar en base a 2 criterios:

  • Type: Indicandole a la configuración del formatter el tipo de contenedor donde se va a introducir (en la definción de un container podremos indicar tanto un nombre como un tipo)
  • Ancho: podremos seleccionar el formatter adecuado por el ancho del contenedor, de forma que nosotros indicaremos a los formatter el ancho mínimo y máximo donde se aplica. Cuando introducimos un contenido dentro de un contenedor miramos el atributo width de éste y seleccionamos el formatter adecuado (el width del contenedor debe ser mayor que el minWidth y menor que el maxWidth del formatter).

A la hora de configurar los formatter tenemos que tener en cuenta que:

  • Los cambios que hagamos sobre el XSD solo serán efectivo si reiniciamos el servidor, es decir, los cambios no se aplican en caliente.
  • Por defecto se coge la configuración del XSD, pero si se especifica un formatter en el sitemap (tanto del módulo como del contenido) la configuración del XSD se pierde, es decir, que si por ejemplo solo se quiere redifinir la configuración de un formatter (el de las columnas por ejemplo) tendremos que redefinirlos todos incluidos los que no sufran cambios.
  • Podemos usar el patrón type="*" de forma que este formatter se podrá aplicar a todos los containers sin excepción. Es equivalente a no configurar el atributo type.
  • La configuración del Type está por encima de la del Ancho, es decir, que si configuramos el type para un formatter se ignora la configuración del Ancho.
  •  En el caso que el ancho del contenedor no entre en ningún rango de ningún formatter, OpenCms no dejará colocar en dicho contenedor el recurso correspondiente.
  • Cuando existen dos formatters que cumplen las condiciones para un mismo ancho, OpenCms cogerá el configurado en último lugar.

Configuración de los container.

Los contenedores serán definidos en los templates. Podremos configurar los siguientes atributos:

  • name: Nombre del contenedor. Debe ser único en una misma plantilla.
  • type: Tipo del contenedor. El tipo si puede estar repetido y es el que nos permitirá luego indicar en la configuración de los formatter. Por ejemplo podemos indicar un tipo "side" tanto a la columna de la izquierda  como a la de la derecha, de esta forma podremos compartir los formatter para ambas columnas.
  • width: Indica el ancho del contenedor
  • maxElements: número máximo de elementos que permite el contenedor. Si se llega al máximo y se añade un nuevo elemento esto provocará que se pierda alguno de los existentes.
  • detailview: Este atributo será true si el contenedor contendrá el detalle de un recurso y false en caso contrario. Por lo tanto, lo normal es que solo se configure a true en el contenedor central.

Calidad Calidad

©Saga Soluciones Tecnológicas
T. 954 45 72 75 / F. 954 45 75 72
Inscrita en el registro mercantil de Sevilla. Tomo 3662, folio 76 , hoja numero SE-52019

Política de calidad y MMAA
Powered by OpenCms 7.5 & Template Saga

© Saga Soluciones Tecnológicas
T. 954 45 72 75 / F. 954 45 75 72
Inscrita en el registro mercantil de Sevilla. Tomo 3662, folio 76 , hoja numero SE-52019