TechTip - OroCommerce - Voir le code HTML des emails

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).

 

Notre agence E-Commerce B2B spécialisée OroCommerce à Nantes vous accompagne dès la définition de votre projet et tout au long du cycle de vie de votre site Ecommerce BtoB.

This content is licensed under the terms of the Creative Commons Attribution-NoDerivatives 4.0 International License.
You are free to:

  • Share — copy and redistribute the material in any medium or format, provided that:
    • You give appropriate credit (mention the name IOSAN and provide a link to the original article),
    • You do not modify the content,
    • You do not use this content for commercial purposes without written permission.
Du THEMING au Drupalcamp Paris

Du THEMING au Drupalcamp Paris

Session DrupalCamp Paris 2019 - Les bonnes pratiques sous Drupal 8

Session DrupalCamp Paris 2019 - Les bonnes pratiques sous Drupal 8

Meetup AFUP du 24 janvier 2019 - Découverte de Drupal et ses bonnes pratiques

Meetup AFUP du 24 janvier 2019 - Découverte de Drupal et ses bonnes pratiques