Accéder au contenu principal

Modèles d'email Joomla 5 - comment ajouter des variables via le plugin

Dans Joomla 5, des modèles de courrier électronique personnalisables ont fait leur entrée, pour les composants principaux et tiers. Ils ne peuvent pas (encore) être ajoutés seuls, ils sont ajoutés lors de l'installation.

Vous pouvez modifier les modèles d'email en cliquant sur Système - Modèles - Modèles d'email dans le menu de gauche de votre panneau d'administration. Depuis Joomla 5.2, vous pouvez utiliser le format HTML pour les modèles de courrier électronique. Lorsque vous modifiez le modèle, vous pouvez voir que les variables comme {USERNAME} ou {SITENAME} sont utilisés dans son texte. Mais que se passe-t-il si nous devons ajouter nos propres variables au modèle de courrier électronique?

Une description détaillée de cette fonctionnalité nécessitera un article détaillé séparé, mais nous vous donnerons une idée générale des paramètres du modèle de courrier électronique.

Nous devrions aller aux paramètres de modèle d'email (le bouton d'options de composant dans le coin supérieur droit).

Paramètres des modèles d'email Joomla 5

Et puis nous pouvons sélectionner le format d'email texte ou HTML. Ensuite, les paramètres de mise en page pour les modèles de courrier électronique Joomla deviennent disponibles. Ces paramètres globaux peuvent être redéfinis dans chaque modèle d'email spécifique. Ainsi, vous pouvez spécifier vos propres paramètres de mise en page et de logo pour chacun des modèles de courrier électronique.

Paramètres des modèles d'e-mail Joomla pour la mise en page HTML et le logo du site dans les e-mails

Pour les développeurs: Comment puis-je ajouter mes propres variables pour les modèles de courrier électronique Joomla?

Nous voyons différents codes courts pour différents types d'emails: {NAME}, {SITENAME}, {SITEURL}, et ainsi de suite sont utilisés dans le texte des modèles de courrier électronique Joomla. Et si nous devions ajouter nos propres variables au modèle d'e-mail?

Modifier le modèle d'email dans Joomla 5

Pour ce faire, vous devez écrire un plugin simple (voir docuentation officielle pour les développeurs). Le développeur bénéficiera de 2 triggers pour les plugins: surMailBeforeTagsRendering et surMailBeforeRendering.

Déclencheur de plugin surMailBeforeRendering dans Joomla

surMailBeforeRendering - Il s'agit d'un déclencheur qui vous permet d'ajouter vos propres shortcodes pour le remplacement des chaînes dans le plugin. Vous devez envoyer un tableau du formulaire comme [ variable_name => variable_value ].

Dans le panneau d'administration, vous devez ajouter vos variables avec des crochets bouclés: {nom_variable} sera remplacé par variable_valeur.

Ajouter une variable personnalisée au modèle d'email Joomla

Le $événement argument du plugin est une instance de la AvantRenderingMailTemplateEvent classe, qui a, entre autres, 2 méthodes: getTemplate() (obtenir un objet mailer où vous pouvez ajouter vos données) et getTemplateId() (obtenir l'identifiant de modèle d'un e-mail comme com_users.registration.admin.new_notification), par lequel nous déterminons si c'est le bon modèle de courrier électronique pour nous ou non. Similaire au contexte dans les plugins de contenu.

Identifiant du modèle de courrier électronique dans la vue Joomla 5 Modèles de courrier électronique

En outre, une propriété de classe utile pour transférer des données du plugin vers la mise en page de la lettre pour le rendu est $layoutTemplateData. C'est un tableau associatif.

<?php

// Obtenir l'expéditeur actuel

$mailTemplate = $event->getTemplate();

$données = [

'nom_variable' => 'valeur_variable'

// depuis Joomla 4 pour tous les types d'emails. 2ème argument - $plain - format texte brut ];

$mailTemplate->addTemplateData($data, false);

// depuis Joomla 5.2 - pour les e-mails HTML

$mailTemplate->addLayoutTemplateData($data);

// Un exemple du noyau de Joomla

1
2
3
4
5
6
7
EventSchedule
February Customize Backend
February Email Template
February Joomla Academy
February Mywoodlot
February Recover Article
February Web Development II
February Write Tutorial
February JQuery 2
Gets SiteView
JCB
JCB1 Custom Admin View
JCB2 Basis
January Components
January Connecting Third Party Libraries
January Floating Labels
January Happy 2025
January Web Development
March Blog Joomla
March Case Study
March Disaster
MySqlTab
SitViewCodeSuggestions
TutorialKing
Admin Tabs Custom Code
Article Menu Item
ClassDescriptionGitea
Diagram Selection Process
Joomla Extension Changlog View
Menu Templates
Selection Process Current
Starttime
EventSchedule3
Chrome OvkmdodwV6
Dashboard 01 Custom Css Example
Dashboard 02 Disable Core Extensions
Dashboard 03 Edit Layout
Dashboard 04 Images
Dashboard 05 User Dashboard
Dashboard 06 Custom Quick Icons
Dashboard 07 Admin Checklist
Fimage1
Fimage10
Fimage11
Fimage12
Fimage13
Fimage2
Fimage3
Fimage4
Fimage5
Fimage6
Fimage7
Fimage8
Fimage9
Image 20250114112645473
Image1
Image10
Image11
Image12
Image13
Image1a
Image2
Image3
Image4
Image4a
Image5 1
Image5
Image5a
Image6
Image6a
Image7
Image8
Image9
Junction Table