Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/08/2010, 04:11
djbenpm
 
Fecha de Ingreso: agosto-2010
Mensajes: 5
Antigüedad: 13 años, 8 meses
Puntos: 0
Pasar parametros a formulario con ZEND (avanzado)

Muy buenas, soy nuevo en el foro y me encanta esta comunidad.

Tengo el siguiente problema:



Siguiendo la estructura de llamadas de paginas con zend (Adjunto imagen con la estructuracion de carpetas), en controllers tengo la siguiente funcion:

Código PHP:
Ver original
  1. public function updateAction()
  2.     {
  3.        // $this->view->noticia = Application_Model_DbTable_Noticies::getNoticiaById($this->_getParam('id'));
  4.        
  5.  
  6.         $form = new Admin_Form_Noticia();    
  7.         $request = $this->getRequest();
  8.        
  9.        
  10.         if($request->isPost()){
  11.             $formData = $request->getPost();
  12.             if(!$form->isValid($formData)){
  13.                 $form->populate($formData);
  14.                 $this->view->form = $form;  
  15.                 return $this->render('update');
  16.             } else {
  17.                 Application_Model_DbTable_Noticies::updateNoticia($formData);
  18.                 $this->_redirect('/admin/noticies');
  19.             }
  20.         }
  21.        
  22.         $this->view->form = $form;
  23.        
  24.         $this->render('update');
  25.     }


Esto va al archivo update.phtml y tiene el siguiente codigo:

Código PHP:
Ver original
  1. <?php echo $this->form ?>

Despues este carga el formulario que se encuentra en Noticia.php con el siguiente codigo:

Código PHP:
Ver original
  1. <?php
  2.  
  3. class Admin_Form_Noticia extends Zend_Form
  4. {
  5.     public function  init()
  6.     {
  7.         $this->setMethod('post');
  8.  
  9.         $this->addElement('hidden', 'id',
  10.                 array('label' => 'Titol:',
  11.                      ));
  12.        
  13.        
  14.  
  15.         $this->addElement('text', 'data',
  16.                 array('label' => 'Data:'),
  17.                 array('validators' => array('alnum', array('regex', false, '/^[a-z]/i')),
  18.                 'required' => true, 'filters'  => array('StringToLower')));
  19.        
  20.         $this->addElement('text', 'titol',
  21.                 array('label' => 'Titol:',
  22.                       'required' => true));
  23.  
  24.  
  25.         $this->addElement('textarea', 'textcurt',
  26.                 array('label' => 'Text Curt:',
  27.                       'required' => true));
  28.  
  29.         $this->addElement('textarea', 'textllarg',
  30.                 array('label' => 'Text Llarg:',
  31.                       'required' => true,));
  32.  
  33.        
  34.  
  35.         $this->addElement('submit','desar',
  36.                 array('label' => 'Desar'));
  37.     }
  38.    
  39. }

En /models/dbtable/noticies.php, tengo una consulta a la base de datos que me retorna los mismos campos que tengo en el formulario.

Mi pregunta es como puedo decirle al campo de cada textbox del formulario que valga lo que tengo en la base de datos? Algo semejante como el value de html.

Muchas gracias!