a modo de colaboración, depsues de leer esto, pude hacer un buen decorador para un input file
Código php:
Ver originalclass ComercioForm extends Zend_Form {
public function __construct($o = null) {
parent::__construct($o);
$this->setMethod(Zend_Form::METHOD_POST)->setEnctype(Zend_Form::ENCTYPE_URLENCODED)->setAttrib('accept-charset','utf-8');
$this->addElement(
$this->createElement('file','logo')
->setLabel('Logotipo')
->setRequired(false)
->addDecorators(
array('Description',array('escape'=>false,'tag'=>'p', 'placement' => Zend_Form_Decorator_Abstract
::PREPEND)) )
)
);
/*resto del formulario */
}
}
y luego en mi controlador, cuando edito (ya q cuando creo nunca voy a tener ya un logo cargado)
$this->view->formulario->populate($comercio->toArray());
if($comercio->idLogo>0){
$this->view->formulario->getElement('logo')->setDescription(
$this->view->thumb(
$comercio->findParentArchivos_Models_LogosModelByLogo()->nombre,
Zend_Registry::get('config')->logos
)
);
}
// $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 ;)