Inserire uno script di newsletter all’interno di TXP può essere molto semplice se si utilizzano i plugin corretti.
Postmaster è un plugin di Ben Bruce ormai archiviato e ripreso (leggasi funzionante per la versione 4.XX o superiore di TXP) da Michael Manfre il quale ha inserito alcune funzionalità e corretto altri bug.
Vediamo quindi come far funzionare in modo semplice questo plugin.
Predisposizione
Partiamo dal presupposto che questo plugin lavora in stretta collaborazione con un altro plugin spesso utilizzato in TXP: zem_contact_reborn. Infatti sia il modulo per l’iscrizione alla newsletter, sia quello per cancellarsi, sono basati su form gestiti da questo plugin.
Bisogna quindi installare ed attivare i due plugin e gli altri due plugin associati: zem_contact_language e mem_postmaster_library
Configurazione iniziale.
La prima volta che si accede alla pagina di gestione di Postmaster, vengono installate le tabelle necessarie, con una lista di default ed un utente di default. Nella sezione PM->Preference si possono settare le varie informazioni da salvare per i vari utenti e le liste.
All’interno di PM->List trovate la l’elenco delle varie liste di newsletters a cui ci si può iscrivere. La principale è default che è preinstallata. Accedendovi, si possono configurare diversi parametri tra i quali l’indirizzo email dell’amministratore, il form da utilizzare e l’oggetto della mail
Creiamo i moduli per le iscrizioni
Se abbiamo già una lista di utenti ai quali inviare la nostra newsletter siamo già a buon punto. Se a questa lista, o se questa lista non l’abbiamo, possiamo invitare degli utenti ad iscriversi, tramite appositi moduli.
All’interno di Postmanual troviamo un esempio di questo modulo che però contiene qualche errore. Con la nuova versione di Manfre, abbiamo un valore separato per il nome ed uno per il cognome:
<txp:zem_contact_text name="zemSubscriberFirstName" label="Il tuo nome:" />
<txp:zem_contact_text name="zemSubscriberLastName" label="Il tuo cognome:" />
Anche per il modulo di cancellazione è possibile trovare qualcosa di già pronto su Postmanual
Purtroppo anche in questo caso ho notato un piccolo errore dovuto all’interpretazione del codice.
Infatti intorno alla riga 1269 del plugin viene fatto un confronto con i risulati passati dal modulo.
// check if zemUnSubscribe is included; if so, does it say "on"? if "on", unsubscribe and return
$is_unsubscribe = strtolower($zemUnSubscribe);
$is_unsubscribe = $is_unsubscribe == 'si' || $is_unsubscribe == 'yes';
Ho notato però, lavorando con txp 4.4.0, che il valore passato non è si, ma sì con la i accentata. Questo perchè è il valore salvato, in lingua italiana, nella tabella txp_lang
Assicuriamoci quindi di effettuare la modifica della lettera accentata.
A questo punto si potrebbe già cominciare ad utilizzare il plugin, permettendo ai nostri visitatori di iscriversi e di cancellarsi.