Joomla.it Forum
Componenti per Joomla! => Gestione Form => : _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
-
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?
-
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!!!!!!!!!