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.

Ce contenu est mis à disposition selon les termes de la Creative Commons - Attribution - Pas d'Œuvre dérivée 4.0 International.
Vous êtes libre de :

  • Partager — copier, distribuer et communiquer le contenu par tous moyens et sous tous formats,
    à condition de :
    • Créditer l’œuvre (mentionner le nom IOSAN et fournir un lien vers l’article original),
    • Ne pas modifier le contenu,
    • Ne pas utiliser ce contenu à des fins commerciales sans autorisation écrite.
Drupal > Un nouveau module pour supprimer les divs entourant vos champs à la demande

Drupal > Un nouveau module pour supprimer les divs entourant vos champs à la demande

FrankenPHP et Drupal, ça dit quoi côté performances ?

FrankenPHP et Drupal, ça dit quoi côté performances ?

Rendre vos Drupal AJAX Callback générique c'est possible avec notre nouveau module contrib

Rendre vos Drupal AJAX Callback générique c'est possible avec notre nouveau module contrib