Výchozí konfigurace
V Drupalu, lépe řečeno v konfiguraci CKEditor pro text formáty, je možné vybrat si nějaké možnosti pro vkládání, ale nic z toho pořádně nefunguje.
![ckeditor paste options 33ckeditor paste options](https://www.webeek.cz/sites/default/files/2020-06/ckeditor%20paste%20options.png)
Nepomůžou ani nějaké existující moduly jako CKEditor Pastefromword https://www.drupal.org/project/ckeditor_pastefromword.
Pomůže opravdu až upravení konfigurace CKEditoru.
Úprava konfigurace CKEditoru
Pro CKEditor existují konfigurační volby, které nastavují všechno možné. V Drupalu 8 už ale není možné vkládat konfigurační volby přímo, naštěstí ale pro to existuje modul CKEditor custom config https://www.drupal.org/project/ckeditor_config
Po jeho instalaci (aktuálně verze 8.x-3.0) se ukáže pro text formát s povoleným CKEditorem nová volba CKEditor Custom Configuration:
![CKEditor Custom Configuration 33CKEditor Custom Configuration](https://www.webeek.cz/sites/default/files/2020-06/CKEditor%20Custom%20Configuration.png)
Náš kód bude obsahovat tři řádky:
pasteFromWordPromptCleanup = false
forcePasteAsPlainText = true
basicEntities = false
První odstraňuje pop-up box s dotazem na vložení, druhý odstraňuje HTML tagy a třetí volba zabrání vkládání .
Ukážeme si to na příkladu. Ve Wordu jsem si vytvořil jednoduchý formátovaný text. Po standardním vložení do to vypadalo takhle:
![Word paste pop-up 33Word paste pop-up](https://www.webeek.cz/sites/default/files/2020-06/Word%20paste%20pop-up.png)
![paste with formatting 33paste with formatting](https://www.webeek.cz/sites/default/files/2020-06/paste%20with%20formatting.png)
Po aplikování výše uvedených 3 voleb se vloží pouhý text.
Vlastní modul
V mém případě – kdy mám definováno několik různých text formátů – by bylo výše uvedené třeba nastavit všude. A navíc přes contrib modul. Takže jsem si radši vytvořil vlastní modul, kde se nastavení aplikuje automaticky. Není to nic složitého, je to jen pár řádků při použití hook_editor_js_settings_alter(). kde se nastavuje proměnná editor['editorSettings'].
![custom module 33custom module](https://www.webeek.cz/sites/default/files/2020-06/custom%20module.png)
Závěr
Nakonec tedy CKeditor funguje přesně tak, já chci, a to bez zbytečného obtěžování uživatelů. A vkládání textů z Wordu generuje čistý neformátovaný kód.