[RISOLTO] - Cambiare indirizzo mail del modulo CONTACT

8 contenuti / 0 new
Ultimo contenuto
[RISOLTO] - Cambiare indirizzo mail del modulo CONTACT

Cia a tutti.
Ragazzi ho creato un tipo di contenuto NEGOZIO con vari campi fra cui anche un campo di tipo EMAIL dove vado ad inserire l'indirizzo mail di ogni negozio. All'interno di questo tipo di contenuto ho inserito il modulo di contatto del core di DRUPAL 6.24
E' possibile modificare l'indirizzo mail del form di contatto in modo che vada a pescare direttamente la mail del negozio?

Grazie mille per l'aiuto!!!

Nessuno sa darmi qualche suggerimento?

C'è per caso già il discorso aperto da qualche altra parte?

Credo che questa cosa si faccia con hook_form_alter.

Ciao Pinolo.
Ho inserito questa funzione all'interno del file CONTACT.module:

function contact_form_alter(&$form, $form_state, $form_id) {
switch ($form_id) {
case 'contact_mail_page':
$form['#submit'] = $node->field_email[0]['view'];
break;
}
}

Ma non funziona...tu sai dove sbaglio?

Ho inserito questa funzione all'interno del file CONTACT.module:

function contact_form_alter(&$form, $form_state, $form_id) {
switch ($form_id) {
case 'contact_mail_page':
$form['#submit'] = $node->field_email[0]['view'];
break;
}
}

Ma non funziona...dove sbaglio?

Sbagliato! La funzione la devi implementare in un tuo modulo. A parte questo, di sicuro per cambiare l'indirizzo di notifica non devi cerco cambiare la proprietà '#submit'. Al limite, dopo essere andato a vedere com'è il codice del modulo contact per quanto riguarda i submit, mantiene il richiamo a '#submit' e sostituisci la funzione di submit esistente con un'altra che fa al caso tuo.

RISOLTO!!!
Grazie mille per l'aiuto PINOLO. Ti dico la mia soluzione:

1. Ho aperto il modulo contact e tramite il modulo DEVEL sono andato a vedere tutte le variabili che usa.
2. Nel file contact.admin.inc, ho cambiato da TRUE a FALSE la proprietà "required" della variabile(array) $form['recipients'] che si trova più o meno alla riga 45, per non aggiungere destinatari al momento della creazione del form di contatto. Inoltre ho commentato le istruzioni subito sotto(if....else) per evitare il controllo sulla casella destinatari.
3. Nel file contact.pages.inc ho aggiunto questo codice più o meno alla riga 130:

//Carico il nodo all'interno del modulo di contatto
$node = node_load(arg(1));
//assegno l'indirizzo mail dell'operatore alla variabile
$contact['recipients'] = $node->field_email[0]['email'];

//Questa sotto è l'istruzione che invia la mail....
// Send the e-mail to the recipients using the site default language.
drupal_mail('contact', 'page_mail', $contact['recipients'], language_default(), $values, $from);

Così funziona alla grande.

Grazie mille Pinolo e spero si essere stato di aiuto a qualcun altro.