Le système d'emails d'OroCommerce est basé sur les entités EmailTemplate. Le HTML des emails peut être modifié via l'éditeur wysiwyg TinyMce intégré à OroCommerce. Ceux qui ont déjà mis en place ce genre de mail le savent : un email HTML avec mise en forme est technique et contient généralement du code bien spécifique pour la mise en forme.
La documentation d'Oro montre qu'il peut être nécessaire d'éditer le HTML. La mise en place du wysiwyg enlève cette possibilité car le bouton permettant la bascule entre WYSIWYG et code n'apparaît pas dans la toolbar.
Voici donc un patch maison pour activer le fameux bouton dans la toolbar (ce n'est peut être pas la meilleure manière, mais ça marche et c'est fiable) :
--- src/Oro/Bundle/EmailBundle/Form/Type/EmailTemplateType.php 2020-11-09 05:55:44.835985695 +0100
+++ src/Oro/Bundle/EmailBundle/Form/Type/EmailTemplateType.php 2020-11-09 05:54:38.229000000 +0100
@@ -154,11 +154,14 @@
return [];
}
+ $toolbarwithcode = OroRichTextType::$toolbars[OroRichTextType::TOOLBAR_LARGE];
+ $toolbarwithcode[0].=' | code';
return [
'valid_elements' => null, //all elements are valid
'plugins' => array_merge(OroRichTextType::$defaultPlugins, ['fullpage']),
'relative_urls' => true,
'forced_root_block' => '',
+ 'toolbar' => $toolbarwithcode
];
}
}
Si vous utilisez le plugin composer cweagans/composer-patches, vous pouvez enregistrer le pacth et ajouter le code suivant dans votre composer.json :
"extra": { .... "patches": { "oro/platform": { "Add code button to email template wysiwyg": "patches/oro-platform-emailtemplate-wysiwyg-code-toolbar.patch" } } }
Il n'y a plus qu'à lancer "composer update" (et prendre un café parce qu'oro n'est pas encore passé à composer 2).