Gracias a las estructuras y pantillas de contenido web , podemos generar contenidos de una forma estructurada y predifinida por nosotros mismos. Esto es muy úitl a la hora de generar contenidos dinámicos como pueden ser noticias.
En nuestro caso, vamos a utilizar el ejemplo de las noticias para generar una estructura que defina la noticia, esto es, titular, fecha y cuerpo de la noticia, por ejemplo, y una vez hecho esto, mostraremos las noticias mediante una plantilla.
Empezaremos creando la estructura de lsa noticias. Para ello, vamos al Panel de control -> Contenido Web -> Estructura -> Añadir Estructura.
En esta página le damos un nombre a nuestra estructura, en nuestro caso noticias. Marcamos la casilla de autogenerar ID y le damos también una descripción cualquiera.
Hecho ésto, solo nos queda definir los campos que llevarán las noticias. Para ello, le damos al botón de añadir fila 1 vez lo que nos mostrará 1 fila única, Además debemos de marcar esta fila como "Repetible".
Ahora crearemos 3 subfilas de ésta. Para ello, le damos al símbolo de "+" que hay junto a ella 3 veces. Al igual que en la primera fila les daremos un nombre a cada subfila, en nuestro caso las llamaremos título,fecha y cuerpo y las establecemos como "Caja de Texto" por ejemplo. Una vez hecho todo ésto guardamos y ya tenemos lista nuestra estructura.
El siguiente paso será crear la plantilla que generará el listado de noticias. Para ello, vamos a Panel de control -> Contendo Web -> Plantilla -> Añadir Plantilla.
Como antes con la estructura, le damos un nombre y una descripción, en nuestro caso la hemos llamado "Plantilla noticias". Seleccionamos la estructura a la que estará asociada la plantilla y una vez hecho esto nos toca crear el código que generará todo el código html de las noticias.
Le damos a Abrir editor y escribimos el siguiente código:
#foreach ($tit in $noticia.getSiblings() ) <div class="noticia"> #set ($count = 0) #foreach ($noticia in $tit.getChildren() ) #set ($count = $count + 1) #if($count ==1 ) <h1>$noticia.getData() </h1> #end #if($count ==2 ) <h2>$noticia.getData() </h2> #end #if($count ==3 ) <h3>$noticia.getData() </h3> #end #end </div> #end
Una vez escrito le damos a modificar.
Al haber hecho repetible el contenido de la estructura, nos permite generar tantas estructuras título-cuerpo-fecha como nosotros queramos. Con este código lo único que hacemos es recorrer cada una de esas repeticiones y por cada una de ellas recorremos los 3 campos que contienen y marcamos(h1,h2,h3) el código según el campo gracias al contador ($count).
Ya tenemos lista también la plantilla, guardamos y vamos a la pagina principal de nuestro portal.
Añadimos un portlet "Visor de contenido web". Le damos a Añadir nuevo contenido web. En la parte derecha de la pantalla seleccionamos la plantilla que creamos antes(Plantilla noticias).
Ahora podemos ver como aparecen los campos de la estructura en la izquierda para que los rellenemos con contenido. Además,si nos fijamos, nos aparece también un "+" verde que nos permite añadir nuevas noticias ya que,si recordamos, hicimos que fuera repetible.
Añadimos 2 noticias de ejemplo, en nuestro caso titulo1,fecha1,cuerpo1 y titulo2,cuerpo2,fecha2 y le damos publicar.
Una vez hecho todo esto ya podemos ver en el visor de contenido web de antes las 2 noticias que hemos creado.
Esto nos permite añadir noticias de una manera muy fácil,rápida y sencilla, tan solo necesitamos añadir una nueva entrada en el contenido creado y añadir el texto que queramos.
Espero que os sea de utilidad.
Para cualquier duda o pregunta no dudeis en preguntarme.