Joomla.it Forum

Componenti per Joomla! => Gestione Form => : rushseeker 23 Dec 2011, 17:51:01

: [RISOLTO][Chronoform 3] Come allegare un file finita la compilazione del form
: rushseeker 23 Dec 2011, 17:51:01
Come da oggetto


Ho cronoform 3 su joomla 1.5.x
: Re:[Chronoform 3] Come allegare un file finita la compilazione del form?
: vales 25 Dec 2011, 20:06:28
Che vuol dire "finita" ? Un file si allega "durante".
: Re:[Chronoform 3] Come allegare un file finita la compilazione del form?
: rushseeker 25 Dec 2011, 20:27:08
Mi spiego un pochino meglio:
che a prescindere dai dati compilati vorrei che come prerequisito si possa allegare un file pdf.
: Re:[Chronoform 3] Come allegare un file finita la compilazione del form?
: vales 26 Dec 2011, 09:05:50
Occorrono altre informazioni.

Il file è sempre lo stesso ed è già da qualche parte nel sito ?


: Re:[Chronoform 3] Come allegare un file finita la compilazione del form?
: rushseeker 27 Dec 2011, 12:54:31
Si, il file pdf è sempre lo stesso ed è presente sul sito.
: Re:[Chronoform 3] Come allegare un file finita la compilazione del form?
: vales 03 Jan 2012, 15:21:37
Questo codice, simile a quello che uso in Albo Pretorio, dovrebbe consentire l'invio del file.

Il codice va inserito  nella finestra Validation del form nel campo Server Side Validation Code:

:
<?php

global $mainframe;
$jemail$mainframe->getCfg('mailfrom'); // email di joomla
$email JRequest::getVar('campo_email_del_form','','post');

$recipient = array($email);

$uploadpath JPATH_SITE.DS.'components'.DS.'com_chronocontact'.DS.'uploads'.DS."allegati".DS;
&
allegato="nome_file-da_inviare.pdf";
$this_attachments[] = $uploadpath.$allegato;

$mailer = &JFactory::getMailer();
$mailer->setSender($jemail);
$mailer->addRecipient($recipient);

$mailer->setSubject('Invio allegato');

$body"
<div class=\"form_item\">
<h2 class=\"form_item\">Notifica di invio allegato</h2>
<p> </p>
<p>Questa email contiene l' allegato "
.$allegato."</p>
<p>inviato a "
.JRequest::getVar('nome_tuo_form','','post')."</p>
</div>"
;
$mailer->setBody($body);
$mailer->addAttachment($this_attachments);

$mailer->IsHTML(true);
if (!(
$mailer->Send() == true))
{
return 
"Un errore inviando la mail";
    
// an error has occurred
    // a notice will have been raised by $mailer
}
?>

Il significato delle variabili dovrebbe essere chiaro.

Ho utilizzato dei nomi dei campi del form che dovrai adattare alla tua situazione.

Nel  percorso della cartella dell'allegato dovrai inserire con le stesse modalità sintattiche quello della cartella del tuo allegato.

Anche il body dell'email lo potrai definire con lo stesso metodo mostrato, utilizzando i tag html che meglio si prestano alla tua situazione.
: Re:[Chronoform 3] Come allegare un file finita la compilazione del form?
: rushseeker 03 Jan 2012, 15:33:28
Appena ho un po di tempo proverò a testare questa cosa.


Ancora grazie per l'immenso lavoro che fai.