web-dev-qa-db-fra.com

Comment puis-je ajouter un modèle de courrier électronique dans Joomla

Comment ajouter un modèle d'email pour tous les emails envoyés par Joomla.

Y at-il un moyen standard de le faire? Ou devons-nous ajouter des codes personnalisés dans chaque section d'envoi de courrier (ou classe PHPmailer)?

Je cherche quelque chose comme un événement plug-in ou quelque chose de similaire pour attraper un événement d'envoi d'email. Est-ce possible dans Joomla?

Je pense que je dois expliquer un peu plus, Email Beautifier est bon mais son objectif est de développer une telle extension. J'ai un composant personnalisé pour la personnalisation du modèle de courrier électronique, avec l'éditeur toutes les polices de styles, etc. sont personnalisables à partir de là, le modèle est quelque chose comme ci-dessous.

enter image description here

Ceci est mon modèle, je n'ai pas besoin de changer les messages que Joomla a déjà avec l'enregistrement, les contacts, etc. J'ai juste besoin d'ajouter un modèle dessus,

En ce moment, je le fais avec la personnalisation PHP fichier de base de la classe mailer, quelque chose comme Chad Windnagle a dit en avoir déjà vu Les extensions qui font cela aiment écraser tous les emails envoyés par Joomla. Je l’avais utilisé dans une ancienne version de Joomla comme RS FORM PRO Joomla.

5
Jobin Jose

Tous les courriels envoyés sont envoyés à l'aide des fichiers de langue. Par conséquent, modifier le contenu de la copie de courrier électronique revient à effectuer des remplacements de langue:

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

Je ne suis pas sûr qu'il existe un seul "événement" spécifique pour capturer l'envoi d'e-mails. La seule façon de faire cela serait probablement de remplacer la classe de publipostage et d'ajouter un événement que vous pouvez ensuite regarder avec d'autres plugins.

Vous devez remplacer cette classe: https://github.com/joomla/joomla-cms/blob/staging/libraries/joomla/mail/mail.php

Et remplacez-le par le vôtre - vous pouvez le faire avec un plugin système, je pense. À partir de là, vous ajouterez un nouvel événement à la méthode send () qui appelle un événement plugin onSend.

Cela ne fonctionnera également que si l'envoi du courrier électronique utilise la classe de courrier de Joomla. Tout courrier envoyé directement via PHP serait difficile à saisir de cette façon.

4
Chad Windnagle

Vous pouvez facilement envoyer un modèle de courrier électronique en utilisant un composant Joomla gratuit, tel que ACYMailing - https://www.acyba.com/

Pour les fonctionnalités - https://www.acyba.com/acymailing/features.html

De plus, il a des modèles d'email gratuits intégrés, vous n'avez donc pas besoin de vous reconstruire ou de vous créer.

0
PCMShaper

Allez dans Gestionnaire de langues -> Dérogations linguistiques

Là, vous pouvez créer des remplacements aux clés suivantes:

  • 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

Il y a d'autres clés. Mais tout ce dont vous avez besoin est de créer une substitution de langue. Jetez un coup d’œil au fichier language/en-GB/en-GB.com_users.ini.

0
csbenjamin

EDIT: Je relis votre question et réalise que vous voulez créer un plugin semblable à celui-ci. Cependant, je vais laisser ma réponse, car cela pourrait être utile pour d’autres en fonction du titre de votre question, et vous trouverez peut-être utile de regarder comment cette extension fonctionne.

Une alternative à cela consiste à utiliser le plugin gratuit cMandrill de Compojoom:

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

Et puis inscrivez-vous pour http://Mandrill.com

Les 12 000 premiers courriels sont gratuits, la plupart des sites Web ne verront donc jamais leurs frais (vous n'avez même pas besoin d'utiliser une carte de crédit pour vous inscrire).

Vous pouvez ensuite remplacer les modèles joomla sans modifier aucune langue ni effectuer de substitution.

Je propose cette solution comme alternative aux avantages de Nice (Mandrill peut vous dire si les emails de vos utilisateurs ont été renvoyés et qui les a ouverts, etc.).

0
Brian Peat