it-swarm-eu.dev

Come posso aggiungere un modello e-mail in Joomla

Come aggiungere un modello e-mail per tutte le e-mail inviate da Joomla.

Esiste un modo standard per farlo? Oppure dobbiamo aggiungere codici personalizzati in ogni sezione di invio della posta (o classe PHPmailer)?

Sto cercando qualcosa come eventi plug-in o qualcosa di simile per catturare un evento di invio di e-mail. Questo è possibile in Joomla?

Penso di aver bisogno di spiegare un po 'di più, Email Beautifier è buono ma il mio obiettivo pagato è quello di sviluppare una tale estensione. Ho un componente personalizzato per la personalizzazione del modello e-mail, con editor tutti i tipi di carattere, ecc sono personalizzabili da lì il modello è qualcosa di simile al di sotto.

enter image description here

Questo è il mio modello Non ho bisogno di cambiare alcun messaggio che Joomla ha già con la registrazione, i contatti e così via. Devo solo aggiungere un modello su di esso,

In questo momento lo sto facendo personalizzando PHP file core della classe mailer, qualcosa come Chad Windnagle ha detto che ho già visto alcuni le estensioni lo fanno come sovrascrivendo tutte le e-mail che Joomla invia l'ho usato nella versione precedente di Joomla come RS FORM PRO Joomla.

5
Jobin Jose

Tutte le e-mail inviate vengono inviate utilizzando i file della lingua, quindi cambiare il contenuto nella copia e-mail è una questione di sostituzione della lingua:

http://docs.joomla.org/J2.5:Language_Overrides_in_Joomla

Non sono sicuro che esista un singolo "evento" specifico per l'invio di e-mail. L'unico modo per farlo sarebbe probabilmente sovrascrivere la classe mailer e aggiungere un evento che puoi quindi guardare con altri plugin.

Dovresti sovrascrivere questa classe: https://github.com/joomla/joomla-cms/blob/staging/libraries/joomla/mail/mail.php

E sostituiscilo con il tuo - potresti farlo con un plugin di sistema, credo. Da lì aggiungerai un nuovo evento nel metodo send () che chiama un evento onSend plug-in.

Questo funzionerà anche solo se l'invio di e-mail utilizza la classe mailer di Joomla. Qualsiasi posta inviata direttamente tramite PHP sarebbe difficile da catturare in questo modo.

4
Chad Windnagle

Puoi inviare facilmente un modello di email utilizzando il componente Joomla gratuito come ACYMailing - https://www.acyba.com/

Per le funzionalità: https://www.acyba.com/acymailing/features.html

Inoltre ha modelli di e-mail gratuiti integrati, quindi non è necessario ricostruire o creare te stesso

0
PCMShaper

Vai a Gestione lingua -> Sostituzioni lingua

Lì puoi creare sostituzioni per le seguenti chiavi:

  • COM_USERS_EMAIL_ACTIVATE_WITH_ADMIN_ACTIVATION_SUBJECT

  • COM_USERS_EMAIL_ACTIVATE_WITH_ADMIN_ACTIVATION_BODY

  • COM_USERS_EMAIL_ACTIVATED_BY_ADMIN_ACTIVATION_SUBJECT

  • COM_USERS_EMAIL_ACTIVATED_BY_ADMIN_ACTIVATION_BODY

Ci sono altre chiavi. Ma tutto ciò che serve è creare l'override delle lingue. Dai un'occhiata al file language/en-GB/en-GB.com_users.ini.

0
csbenjamin

EDIT: ho riletto la tua domanda e ho capito che volevi creare un plugin simile a questo. Lascerò comunque la mia risposta, poiché potrebbe essere utile per gli altri in base al titolo della domanda e potresti trovare utile vedere come funziona questa estensione.

Un'alternativa a questa è usare il plug-in gratuito cMandrill di Compojoom:

https://compojoom.com/joomla-extensions/mandrill-transactional-emails-made-easy

E quindi registrati per http://Mandrill.com

Le prime 12.000 e-mail sono gratuite, quindi la maggior parte dei siti Web non vedrà mai addebiti (non è nemmeno necessario utilizzare una carta di credito per iscriversi).

È quindi possibile sovrascrivere i modelli di joomla senza modificare alcuna lingua o effettuare sostituzioni.

Lo offro come alternativa che ha alcuni vantaggi di Nizza (come Mandrill può dirti se le email degli utenti sono rimbalzate e chi le ha aperte, ecc.).

0
Brian Peat