Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

[ZF] Renderizar las vistas manualemente

Estas en el tema de [ZF] Renderizar las vistas manualemente en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola amigos/as, Llevo un tiempo trabajando incomodo con zend framework cuando quiero cargar vistas que procesen operaciones, es decir que no son simplente html, en ...
  #1 (permalink)  
Antiguo 13/04/2009, 11:23
 
Fecha de Ingreso: enero-2005
Mensajes: 149
Antigüedad: 20 años
Puntos: 2
[ZF] Renderizar las vistas manualemente

Hola amigos/as,

Llevo un tiempo trabajando incomodo con zend framework cuando quiero cargar vistas que procesen operaciones, es decir que no son simplente html, en por ejemplo `response segments´ del objeto layout().

Si por ejemplo cargo un formulario de login:
Código PHP:
$this->_view->layout()->loginForm $this->_view->action('index''login''users'); 
Cuando se ejecuta ese action se produce un render que muestra el formulario...

El problema es que si alguién entonces va mediante la url a http://127.0.0.1/app/users/login

Entonces el formulario hace render en el segmento del layout que le asignamos... pero también hace render el segmento `content´ que es donde hace por defecto el render de las actions.

Conclusión, me aparecen 2 formularios de login...

Para solucionarlo al final del action hice $this->_forward('index', 'index', 'default');

Pero así, lo que conseguimos es que se cargue en `content´ la página principal si accedemos a http://127.0.0.1/app/users/login

Y esto queda un tanto artificial... si por ejemplo tu estabas en http://127.0.0.1/app/users/profile ya que te rompe/resetea la navegación ke llevabas haciendo.
Entonces para solucionar esto se me ocurren 2 posibilidades:
1.- Conseguir alguna forma de mantener en una variable que request había antes de hacer login (la carga anterior). Y si se accede a a http://127.0.0.1/app/users/login hacer un $this->forward() al esa carga anterior.

2.- Deshabilitar el renderizado automático, de forma se muestra lo que yo le haya dicho de forma explicita. y ya deberían aparecer 2 loginForms
Pero no se como hacer alguna de estas dos cosas... Tengo como más de 100 pestañas en el firefox buscando info... pero no me sale nah ! Y estoy un poco arto.

Alguién me puede ayudar un poco ?
Merci
  #2 (permalink)  
Antiguo 13/04/2009, 15:35
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 10 meses
Puntos: 45
Respuesta: [ZF] Renderizar las vistas manualemente

Hola yoguuu
Con esto evitas los renderizados automaticos
Código php:
Ver original
  1. $this->_helper->layout->disableLayout(); // con esto desabilitas el loyout
  2. $this->_helper->viewRenderer->setNoRender(); // con esto desabilitas que renderize la vista
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #3 (permalink)  
Antiguo 14/04/2009, 17:18
 
Fecha de Ingreso: enero-2005
Mensajes: 149
Antigüedad: 20 años
Puntos: 2
Respuesta: [ZF] Renderizar las vistas manualemente

$this->_helper->viewRenderer->setNoRender();

Conozco esas instrucciones. Pero con esto puedo deshabilitar el render, en determinado action...
Como haría para que sea en toda la aplicación ?

Uhmm una de las cosas que planteaba o que quería plantear. Es sobre si es aconsejable deshabilitarlo y renderizar manualmente, si esto es una buena práctica como he leido en algún que otro lugar y de alguna que otra persona.

Merci !
  #4 (permalink)  
Antiguo 14/04/2009, 17:55
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 10 meses
Puntos: 45
Respuesta: [ZF] Renderizar las vistas manualemente

Hola

Si deseas que sea para toda la aplicacion puedes poner esto donde inicializas el Zend

Código php:
Ver original
  1. $frontController = Zend_Controller_Front::getInstance();
  2. $frontController->setParam('noViewRenderer', true);

Saludos!
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #5 (permalink)  
Antiguo 15/04/2009, 17:58
 
Fecha de Ingreso: enero-2005
Mensajes: 149
Antigüedad: 20 años
Puntos: 2
Respuesta: [ZF] Renderizar las vistas manualemente

Good! Esto era.

Además parece interesante SetParam... Seguro tiene un montón de posibilidades. Lo desconocía. Y no será por no haber leido una cantidad ingente de páginas. supongo ke de cosas más concretas claro...

Muchas gracias !!!
Un saludo.
  #6 (permalink)  
Antiguo 15/04/2009, 20:26
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 10 meses
Puntos: 45
Respuesta: [ZF] Renderizar las vistas manualemente

De nada
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
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 02:36.