Joomla.it Forum

Componenti per Joomla! => Gestione Form => : _VALERIO_ 29 Oct 2012, 23:16:34

: Path all'immagine allegata
: _VALERIO_ 29 Oct 2012, 23:16:34
Ciao a tutti, spero che qualcuno possa darmi una mano per risolvere il mio problema.
Attraverso chronoforms v4 sono riuscito a creare un form che mi permette di creare direttamente un articolo.
Funzionava tutto (se uso solo testo) finchè non mi è venuto in mente di far si che l'utente possa allegare anche una foto che voglio far comparire nell'articolo.
Per allegare l'immagine ho modificato il submit_article.php aggiungendo la seguente riga:
:
$immagine="<img src='/components/com_chronoforms/uploads/Disservizio-Copy/20121029222943_10.pazzo.jpg' alt='image' style='height:200px; width:200px;' />";
$form->data['fulltext'] = $form->data[$params->get('fulltext', '')].$immagine;
dove /components/com_chronoforms/uploads/Disservizio-Copy/20121029222943_10.pazzo.jpg è il path ad una immagine prestabilita che io ho nel mio server e Disservizio-Copy è il nome del mio form.
Questo però funziona con una immagine prefissata, ma se volessi inserire l'immagine uploadata dall'utente nell'articolo, come posso recuperare il path per modificare il tag img?

Grazie
: Re:Path all'immagine allegata
: _VALERIO_ 30 Oct 2012, 11:27:14
Pubblico la soluzione che ho individuato io (magari non è elegante ma funziona) per coloro che avessero il mio stesso problema:

ho aggiunto queste righe:
:
    $nomeForm = JRequest::getVar('chronoform');
    $file_name= $form->data['allegato'];
   
    $immagine="<img src='/components/com_chronoforms/uploads/$nomeForm/$file_name' alt='image' style='height:200px; width:200px;' />";
dove 'allegato' è il nome che ho dato al file allegato nel wizard di configurazione del form.
Sicuramente c'è qualcosa di migliore...nel frattempo però così funziona.

Spostando "l'ostacolo" più avanti, ora mi chiedo: nel caso di allegati multipli, come andrebbe modificato il codice?

: Re:Path all'immagine allegata
: _VALERIO_ 30 Oct 2012, 17:48:52
Ho risolto inserendo il seguente codice:
:
<?php
    $numeroAllegati
=count($form->data['allegati_multipli']);
    for (
$i=0$i<$numeroAllegati$i++)
    { 
      
$file_name$form->data['allegati_multipli'][$i];
      
$array "<img src='/components/com_chronoforms/uploads/$nomeForm/$file_name' alt='image' style='height:200px; width:200px;' /> <br />";
      
$immagine$immagine.$array;
    }
    
$form->data['fulltext'] = $form->data[$params->get('fulltext''')].$form->data['disserviziobody'].$immagine;
?>
dove 'allegati_multipli' è il nome che ho dato al campo multi upload, 'disserviziobody' è invece il nome che ho dato al campo testuale.
sembrerà strano ma FUNZIONA!!!!!!!!!