Foros del Web » Programando para Internet » PHP » Zend »

Pregunta de Zend_Layout

Estas en el tema de Pregunta de Zend_Layout en el foro de Zend en Foros del Web. Tengo un layout que muestra unos banners aleatoriamente y los agarra de la base de datos. Mi pregunta es como hago para que automaticamente el ...
  #1 (permalink)  
Antiguo 25/06/2009, 19:53
 
Fecha de Ingreso: marzo-2008
Mensajes: 166
Antigüedad: 16 años, 1 mes
Puntos: 5
Pregunta de Zend_Layout

Tengo un layout que muestra unos banners aleatoriamente y los agarra de la base de datos.

Mi pregunta es como hago para que automaticamente el layout sepa que tiene que entrar a la base de datos y escoger aleatoriamente el banner.

Saludos.
  #2 (permalink)  
Antiguo 25/06/2009, 21:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Pregunta de Zend_Layout

Esa no es tarea del Layout, esa tarea pertenece a la capa de tu logica, tu tienes que entrar a la base de datos y extraer el layout antes de renderizarlo.

Saludos.
  #3 (permalink)  
Antiguo 26/06/2009, 18:09
 
Fecha de Ingreso: marzo-2008
Mensajes: 166
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Pregunta de Zend_Layout

http://img44.imageshack.us/i/examplew.png/

La parte "vista" es la que recupero con $this->layout()->content;

El header, menu y footer son estáticos.

Pero la parte de "banners" necesito que automaticamente agarre los banners aletoriamente de la base de datos. ¿Cuál es la mejor forma de lograr esto?
  #4 (permalink)  
Antiguo 29/06/2009, 13:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Pregunta de Zend_Layout

Puedes usar el plugin de Stack para crear un controlador aparte que inyecte el codigo al named segment, por ejemplo:
Código php:
Ver original
  1. $this->_helper->viewRenderer->setResponseSegment('banners');
Luego recuperar el valor posteriormente en tu layout usando el nombre que le pongas:
Código php:
Ver original
  1. echo $this->layout()->banners;

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:21.