Ver Mensaje Individual
  #8 (permalink)  
Antiguo 26/11/2009, 23:17
Avatar de emiliodeg
emiliodeg
 
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 8 meses
Puntos: 55
Respuesta: Zend como colocar una imagen en un form

a modo de colaboración, depsues de leer esto, pude hacer un buen decorador para un input file

Código php:
Ver original
  1. class ComercioForm extends Zend_Form {
  2.    
  3.     public function __construct($o = null) {
  4.         parent::__construct($o);
  5.    
  6.         $this->setMethod(Zend_Form::METHOD_POST)->setEnctype(Zend_Form::ENCTYPE_URLENCODED)->setAttrib('accept-charset','utf-8');
  7.        
  8.         $this->addElement(
  9.             $this->createElement('file','logo')
  10.             ->setLabel('Logotipo')
  11.             ->setRequired(false)
  12.             ->addDecorators(
  13.                 array(
  14.                     array('Description',array('escape'=>false,'tag'=>'p', 'placement' => Zend_Form_Decorator_Abstract::PREPEND))                   
  15.                 )
  16.             )
  17.         );
  18. /*resto del formulario */      
  19. }
  20. }
  21.  
  22.  
  23. y luego en mi controlador, cuando edito (ya q cuando creo nunca voy a tener ya un logo cargado)
  24.  
  25. $this->view->formulario->populate($comercio->toArray());
  26.        
  27.         if($comercio->idLogo>0){
  28.             $this->view->formulario->getElement('logo')->setDescription(
  29.                 $this->view->thumb(
  30.                     $comercio->findParentArchivos_Models_LogosModelByLogo()->nombre,
  31.                     Zend_Registry::get('config')->logos
  32.                 )
  33.             );
  34.         }
  35.  
  36. // $this->view->thumb es un simple viewHelper q genera un <img />

con esto todo solucionado y ahora tenes el input type file con img cuando ya hay una cargada ;)
__________________
Degiovanni Emilio
developtus.com