Ajouter une feuille de style css pour un éditeur ckeditor

Language
Étiquettes
Temps de lecture
Moins d'une minute

Pour ajouter une feuille de style dans un éditeur ckeditor veuillez ajouter les lignes suivantes dans le fichier mon_module.module

<?php
use Drupal\editor\Entity\Editor;
/**
 * Implements hook_ckeditor_css_alter().
 *
 * Injects our CSS sheets anytime CKEditor has loaded.
 *
 * @param array $css
 * @param Drupal\editor\Entity\Editor $editor
 */
function mon_module_ckeditor_css_alter(array &$css, Editor $editor) {
  if (!$editor->hasAssociatedFilterFormat()) {
    return;
  }
  
  $availables_formats = [
    'simple_html',
    'full_html',
  ];
  
  if (in_array($editor->getFilterFormat()->id(), $availables_formats)) {
  
  	/**
 	  * Ajouter un fichier se situant dans un module
 	  */
    $module_handler = \Drupal::service('module_handler');
    $module_path = $module_handler->getModule('mon_super_module')->getPath();
    $css[] = $module_path. '/css/ckeditor.css';
    
    /**
 	  * Ajouter un fichier se situant dans le thème actif
 	  */
    $themeHandler = \Drupal::service('theme_handler');
    $themePath = $themeHandler->getTheme($themeHandler->getDefault())->getPath();
    $css[] = $themePath . '/dist/assets/dsfr/dsfr.css';
    
  }
  
}