Ho creto un form conquesto codice :
Codice PHP:
<?php class Application_Form_ArticoloForm extends Zend_Form { public function __construct($type, $idArticolo = FALSE, $options = null) { parent::__construct($options); $this->setName('FormArticolo'); $this->setAttrib('enctype', 'multipart/form-data'); $titolo = new Zend_Form_Element_Text('titolo'); $titolo->setLabel('Titolo Articolo:') ->setRequired() ->addValidator('NotEmpty', true, array('messages' => array('isEmpty' => 'Devi inserire un titolo a questo articolo!'))) ->addValidator('stringLength', true, array('min' => 3, 'max' => 250, 'messages' => array('stringLengthTooLong' => 'Il titolo non può contenere più di %max% caratteri!', 'stringLengthTooShort' => 'Il titolo non può contenere meno di %min% caratteri!'))) ->addValidator('Alnum', true, array('allowWhiteSpace' => true, 'messages' => array('notAlnum' => 'Hai inserito dei caratteri non consentiti!'))); $descrizione = new Zend_Form_Element_Textarea('descrizione'); $descrizione->setOptions(array('class'=>'ckeditor')) ->setLabel('Descrizione Articolo') ->setRequired() ->addValidator('NotEmpty', true, array('messages' => array('isEmpty' => 'Devi inserire una descrizione a questo articolo!'))) ->addValidator('stringLength', true, array('min' => 50, 'max' => 5000, 'messages' => array('stringLengthTooLong' => 'La descrizione non può contenere più di %max% caratteri!', 'stringLengthTooShort' => 'La descrizione non può contenere meno di %min% caratteri!'))); if($type == 'modify') { $datiArticolo = new Application_Model_DbTable_Articoli(); foreach($datiArticolo->showArticolo($idArticolo) as $articolo) { $titolo->setValue($articolo->titolo); $descrizione->setValue($articolo->testo); } } $this->addElements(array($titolo, $descrizione)); switch($type) { case 'insert' : $this->insertImage(); break; case 'modify' : $this->modifyImage($idArticolo); break; } $this->setMethod('post'); $this->setAction(''); } private function insertImage() { for($num = 1; $num <= 20; $num++) { $image = new Zend_Form_Element_File('image'.$num); $image->setLabel('Inserisci l\'immagine n. '.$num); $this->addElement($image); if ($num == 1) { $image->setRequired() ->addValidator('NotEmpty', true, array('messages' => array('isEmpty' => 'Devi caricare almeno una foto in questo articolo!'))); } } } private function modifyImage($idArticolo) { $num = 0; $fotoArticoliTBL = new Application_Model_DbTable_FotoArticoli(); foreach ($fotoArticoliTBL->showImagesArticolo($idArticolo) as $image) { $num++; $thumbGalleryPath = $_SERVER['DOCUMENT_ROOT'].Zend_Controller_Front::getInstance()->getBaseUrl().'/images/articoli/'.$image->percorso; $arraySizeThumb = $fotoArticoliTBL->defineSizeImage($thumbGalleryPath, '150', 'width'); $descrizioneImmagine = new Zend_Form_Element_Text('descrizioneImmagine'.$num); $descrizioneImmagine->addValidator('stringLength', true, array('min' => 3, 'max' => 250, 'messages' => array('stringLengthTooLong' => 'La descrizione della foto non può contenere più di %max% caratteri!', 'stringLengthTooShort' => 'La descrizione della foto non può contenere meno di %min% caratteri!'))) ->addValidator('Alnum', true, array('allowWhiteSpace' => true, 'messages' => array('notAlnum' => 'Hai inserito dei caratteri non consentiti!'))) ->setValue($image->descrizione); $this->addElement($descrizioneImmagine); echo '[img]'.Zend_Controller_Front::getInstance()->getBaseUrl().'/articoli/show-image/image/'.$image->percorso.'/width/'.$arraySizeThumb[0].'/height/'.$arraySizeThumb[1].'[/img]'; } } } ?>
Qualcuno di voi sa come poter inserire un immagine nel form. Come potete vedere io ho inserito un echo <img...... dopo un input text ma nell'output inserisce le immagini al di fuori del form