Joomla.it Forum
Componenti per Joomla! => Gestione utenti e community => : Fa.Ar. 12 Nov 2013, 15:18:30
-
cia a tutti,
sto utilizzando il componente joomd per la realizzazione di una directory.
In fondo ad ogni scheda che creo c'č un bottone per i contatti che apre in pop-up un semplice form contatti.
Il mio problema č che non me lo fa usare pių di una volta, nel senso che al primo utilizzo invia correttamente il messaggio alla mail indicata mentre se ci provo di nuovo restituisce il seguente messaggio di errore:
"You've already contacted the Owner."
Nello script c'č una funzione data con delle opzioni e credo sia la parte da modificare.
Qualcuno saprebbe aiutarmi per cortesia?
<script type="text/javascript">
$jd(function() {
$jd('.contact_pan a').live('click', function(event) {
$jd('input[name="item_id"]').val($jd(this).attr('rel'))
$jd("#contact_owner").dialog({
title: "<?php echo JText::_('CONTATTA IL PROPRIETARIO'); ?>",
show:"highlight",
hide:"fade",
height:450,
width:275
});
});
$jd('#contact_owner .contact_send').live('click', function(event) {
var item_id = $jd('input[name="item_id"]').val();
var name = $jd('input[name="contact_name"]').val();
var email = $jd('input[name="contact_email"]').val();
var phone = $jd('input[name="contact_phone"]').val();
var enquiry = $jd('textarea[name="contact_enquiry"]').val();
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
if ( name == "") {
alert("<?php echo JText::_('ENTERNAME'); ?>");
return false;
}
else if ( email == "") {
alert("<?php echo JText::_('ENTEREMAIL'); ?>");
return false;
}
else if( !reg.test(email)){
alert("<?php echo JText::_('ENTERVALIDEMAIL'); ?>");
return false;
}
else if(enquiry == ""){
alert("<?php echo JText::_('ENTERENQUIRY'); ?>");
return false;
}
else{
$jd.ajax({
url: "<?php echo JURI::root(); ?>",
type: "POST",
dataType:'json',
data: {'option':'com_joomd', 'view':'item', 'task':'contact_item', 'id':item_id, 'name':name, 'email':email, 'phone':phone, 'enquiry':enquiry, 'abase':1, '<?php echo jutility::getToken(); ?>':1},
beforeSend: function() {
$jd("#contact_owner").prepend('<div class="loadingdisplay"></div>');
},
complete: function() {
$jd("#contact_owner .loadingdisplay").hide();
},
success: function(data){
if(data.result == "success"){
$jd('#contact_owner').dialog('close');
alert(data.msg);
}
else {
alert(data.error);
}
},
error: function(jqXHR, textStatus, errorThrown) {
alert(textStatus);
}
});
}
});
});
</script>
<div id="contact_owner">
<div class="contact_owner_section">
<div class="contact_row">
<?php echo JText::_('NOME'); ?><br />
<input type="text" name="contact_name" id="contact_name" size="25" value="<?php echo $this->user->name; ?>" />
</div>
<div class="contact_row">
<?php echo JText::_('EMAIL'); ?><br />
<input type="text" name="contact_email" id="contact_email" size="25" value="<?php echo $this->user->email; ?>" />
</div>
<div class="contact_row">
<?php echo JText::_('TELEFONO'); ?><br />
<input type="text" name="contact_phone" id="contact_phone" size="25" value="" />
</div>
<div class="contact_row">
<?php echo JText::_('RICHIESTA'); ?><br />
<textarea name="contact_enquiry" id="contact_enquiry" rows="10" col="10"></textarea>
</div>
<p align="center">
<input type="button" class="contact_send" name="invia" id="submit" value="<?php echo JText::_('INVIA'); ?>" />
<p>
</div>
</div>
-
Io per adesso, per non toccare troppo il codice che č in versione beta e quindi soggetto a cambiare presto, spero :(
ho fatto cosė, ho creato un campo URL inserendo un link che mi richiama un finestra modal dove ho inserito un form fatto con chronoform.
-
ottima soluzione :)
il form del contatto con finestra modal si puō creare con chronoform?
(non so come si possa creare una finestra modal)
Sono riuscito a fare la cosa ma nell'url ho indicato semplicemente una pagine con un form contatti (senza finestra che si apre in pop-up)
-
ho semplicemente installato jce mediabox
creato un form con chronoform
creata una voce di menų nascosta al form
inserita la classe modal alla voce di menų
Inserito il link ottenuto nella casella URL
-
credo di sbagliare in qualche posto perchč mi apre il link semplicemente in una nuova finestra.
Ho fatto cosė:
1)installato il plugin jce mediabox e attivato
2)installato aic contact e creato il contatto (al posto di chronoform ma credo sia la stessa cosa)
3)creato una voce di menų dal nome contatti X che rimanda al componente aic contact
4)inserito nella scheda opzioni visualizzazione pagine --->classe pagina la scritta: "(spazio vuoto)modal"
5)torno sul plugin jce mediabox e seleziono nella scheda popup option/menų assignement il menų contatti
6)copiato il link nei dettagli del menų
7)incollato il link nel field url di joomd
Credo di sbagliare qualcosa nel punto 4 o 5.
Qualche consiglio?
-
pių semplicemente
usando jce mediabox ti crei un un link tipo questo in basso collegato al contenuto che vuoi vedere in una finestra modal
<a class="jcepopup noicon" href="index.php?option=com_content&view=article&id=1&Itemid=101" target="_blank" data-mediabox="width[600];height[600]">testo da linkare
dove la parte in rosso č il link che viene generato da jce
in questo link c'č la classe e le dimensioni del box
-
Ok, questo link me lo sono creato inserendolo in un articolo nascosto. Se clicco sulla link dell'articolo la light-box si apre e funziona correttamente.
Ora perō, avendo creato il field con il nome contatti(impostato come url) nella scheda Joomd, come faccio a richiamare quel popup nel campo url?
Perchč se inserisco tutto il codice nel campo url mi apre semplicemente una pagina tipo: www.miosito.it/testo da linkare con errore 404 Pagina non trovata
mentre se inserisco soltanto la parte con href="indirizzo al contatto" giustamente apre solo la pagina relativa al contatto.
Mi sono perso da qualche parte :)
-
crea un link al tuo modulo ed inseriscilo in un gruppo menų non collegato a nessun modulo.
In alcuni casi con alcuni moduli, č possibile che non funzioni, il link funziona perfettamente con una pagina di contenuto.
Se tu potessi mettere il modulo in questa pagina, il problema lo risolvi.
Io ho utilizzato un form avanzato con chronoform, inserendo questo in un articolo con la sintassi:
{chronoform}tuo_modulo_contatti{/chronoform}
-
inoltre se se tu volessi l'oggetto della mail in automatico, e cioč in relazione alla scheda di joomd, potresti collegare il modulo alla tabella specifica di joomd per prelevare il campo del titolo della scheda.
Immagina un sito di un agenzia immobiliare che normalmente identifica i suoi immobili con un numero di riferiemento, avresti un oggetto nel modulo di contatto con dentro il numero di riferimento al quale si riferisce la richiesta di contatto/informazioni