Drupal 8では、構成済みのフィルター形式を使用するときに、CKEditorで追加のスタイルシートをロードするにはどうすればよいですか?Drupal 7では、CSSへのWYSIWYGモジュールパスを指定できます。読み込むシート。これにより、エディターのテキストにテーマができるだけ反映されます。このオプションは表示されません。
ここにそれを行う1つの方法があります...他にあるかどうか(管理者ベース):
/**
* Implements hook_ckeditor_css_alter().
*
* Injects our CSS sheets anytime CKEditor has loaded.
*
* @param array $css
* @param Drupal\editor\Entity\Editor $editor
*/
function mymodule_ckeditor_css_alter(array &$css, Editor $editor) {
if (!$editor->hasAssociatedFilterFormat()) {
return;
}
$known_formats = [
'basic_html',
'full_html'
];
if (in_array($editor->getFilterFormat()->id(), $known_formats)) {
$css[] = drupal_get_path('theme', 'mytheme') . '/build/css/style.css';
}
}
特定のフォーマットのスタイルをロードしたくない場合は、次のようにMODULE.info.yml
ファイル内にCSSを簡単に追加できます。
ckeditor_stylesheets:
- css/application.css
- css/ckeditor.css
いずれかのスタイルシート内で@import
ステートメントを使用して、テーマにない外部スタイルシートを取得します。
/* in css/ckeditor.css */
@import url('//mycdn.com/myfonts.css');
@import url('/path/to/drupal/module/styles.css');
カスタムテーマまたはカスタム管理テーマを使用している場合のDrupal 8)の簡単な解決策を次に示します。
カスタムテーマ情報ファイル*。info.ymlを開き、libraries
の上またはbase_theme
の下に行を追加します。
ckeditor_stylesheets:
- css/ckeditor.css
css/
ディレクトリにファイルckeditor.cssを作成します。