Ver Mensaje Individual
  #7 (permalink)  
Antiguo 12/02/2011, 23:13
Avatar de abimaelrc
abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Añadir otros elementos usando Zend_Form

Añado:
Estaba buscando y no he podido encontrar como añadir el valor de lo que brinda el populate a la imagen. Es decir, en el controlador uso algo como $form->populate($row); Eso llena automáticamente los valores, pero no he podido dar de como añadir a la imagen el valor de lo que trae el populate.

Edito:
Por ahora, viendo esta contestación http://zend-framework-community.6341....html#a1752181 es usar un setter para lograrlo, esto fue lo que hice
Código PHP:
Ver original
  1. <?php
  2. class Foo_Bar_Candy extends Zend_Form
  3. {
  4.     private $_foo = '';
  5.     private $_bar = '';
  6.  
  7.     public function setFoo($foo)
  8.     {
  9.         $this->_foo = $foo;
  10.     }
  11.  
  12.     public function setBar($bar)
  13.     {
  14.         $this->_bar = $bar;
  15.     }
  16.  
  17.     public function init()
  18.     {
  19.     $img = new Zend_Form_Element_File('candy');
  20.     $img->setLabel('Candy:')
  21.         ->setDecorators(
  22.             array(
  23.                 array('Description', array('tag' => 'p', 'class' => 'description', 'escape' => false)),
  24.                 array('File'),
  25.                 array('Errors'),
  26.                 array(array('data' => 'HtmlTag'), array('tag' => 'dd')),
  27.                 array('Label', array('tag' => 'dt')),
  28.             )
  29.         )
  30.         ->setDescription('<img src="/files/' . $this->_foo . '" alt="' . $this->_bar . '" />');
  31.     }
  32. }

En el constructor
Código PHP:
Ver original
  1. class Foo_BarController extends Zend_Controller_Action
  2. {
  3.     $foo = 'imagen.jpg';
  4.     $bar = 'Titulo de la imagen';
  5.     $this->view->form = new Foo_Bar_Candy(array('foo' => $foo, 'bar' => $bar));
  6. }

Si hay otra forma, me gustaría saberlo para así aprender
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 12/02/2011 a las 23:50