Secciones

Artículos para tus primeros pasos

Si estás empezando a introducirte en el mundo de Groovy y Grails, no te pierdas nuestros artículos básicos: 

Entrevistas con los expertos
 

Los protagonistas te cuentan de qué van los proyectos más importantes del mundo Groovy:


Un proyecto de:
ImaginaWorks
Campus Escuela de Groovy

Grails

Cargar templates de forma dinámica

yagarsi - lunes 01/03/2010

Saludos...

Estoy empezando en el mundo de groovy y grails, y tengo algunas dudas acerca de cómo montar la estructura de la web. Mi intención es tener una web con tres columnas. La central tendrá el contenido y las dos laterales, me gustaría que tuviesen diferentes módulos cuyo contenido sea independiente del contenido central, como por ejemplo, gráficos de google chart, banners, etc. Quisiera saber cómo podría hacer para que el contenido de esos módulos se carge de forma autónoma, independientemente del controlador del contenido principal, de tal forma que pueda utilizar dichos módulos en diferentes vistas sin necesidad de repetir código.

¿Se podría configurar en base de datos los módulos que aparecen en cada vista? Como hace Joomla, por ejemplo.

Gracias 

Re: Cargar templates de forma dinámica

Nacho - lunes 01/03/2010

Hola,

puedes definir todas las regiones que sean independientes del contenido en el layout. Tienes más información sobre layouts y Sitemesh en la documentación oficial de Grails.

Re: Cargar templates de forma dinámica

yagarsi - viernes 05/03/2010

Gracias por la respuesta,

he estado revisando el enlace que me has comentado, pero sigo sin entender una cosa. Comprendo cómo poner contenido independiente en el layout, pero lo que yo necesito es lo siguiente:

Quiero marcar ciertas posiciones en mi layout, pero que desde el propio layout no se cargue el contenido de esas posiciones. Desde cada página, quiero decirle qué se debe cargar en esas posiciones definidas. Por ejemplo, imaginemos que en mi página quiero poner un chart arriba a la izquierda, pero ese chart va a contener información relacionada con la página en la que me encuentro. 

Es decir, quiero reservar en el layout las posiciones para poner información, pero que sean cargadas en función de la página que me encuentre. De esta forma, si quiero cambiar el aspecto de la página, no tengo que cambiar todas las páginas. Sólo el layout.

Graicas

 

Re: Cargar templates de forma dinámica

Nacho - viernes 05/03/2010

Hola,

hay muchas formas de adaptar el contenido en función de la página particular, depende de lo que quieras hacer. Por ejemplo, puedes guardar datos en el ámbito request, y hacer que  se lean desde el layout. Por ejemplo, puedes guardar el nombre de la página actual en request.nombrePágina, y acceder luego así:

<h1>Estamos en ${request.nombrePagina}</h1>

Otra opción es personalizar el código generado a en función del nombre de controlador y acción que se esté ejecutando:

<h1>Estás en ${controllerName} / ${actionName}</h1>

 

Saludos,

Re: Cargar templates de forma dinámica

yagarsi - viernes 05/03/2010

Gracias por tu respuesta.

Voy a ponerlo en práctica!!!

 Saludos

Responder al hilo | Volver al foro "Grails" | Volver a los foros