Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Zend_Form

  1. #1

    Zend_Form

    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

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Edita il post, tutto su una riga il codice è illeggibile.

  3. #3
    <?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->clearDecorators();
    $descrizioneImmagine->setDecorators(array('FormElements', 'Form'));
    $descrizioneImmagine->setDecorators(array(
    'FormElements',
    array('HtmlTag', array('tag' => 'div')),
    array('HtmlTag',array('tag'=>'img','placement'=>'p repend','src'=>Zend_Controller_Front::getInstance( )->getBaseUrl().'/articoli/show-image/image/'.$image->percorso.'/width/'.$arraySizeThumb[0].'/height/'.$arraySizeThumb[1], 'width' => $arraySizeThumb[0], 'height' => $arraySizeThumb[1]))
    ));
    // $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]';
    }
    }
    }
    ?>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.