resources/views/modules/ckeditor/ckeditor-js.phtml
<?php
declare(strict_types=1);
/**
* @var string $ckeditor_path
* @var string $language
*/
?>
<script>
const CKEDITOR_BASEPATH = <?= json_encode($ckeditor_path, JSON_THROW_ON_ERROR) ?>;
(function () {
let elements = document.querySelectorAll('textarea.html-edit');
if (elements.length !== 0) {
let script = document.createElement('script');
script.src = <?= json_encode($ckeditor_path . 'ckeditor.js', JSON_THROW_ON_ERROR) ?>;
script.type = 'text/javascript';
script.onload = function () {
// Enable for all browsers
CKEDITOR.env.isCompatible = true;
// Disable toolbars
CKEDITOR.config.language = <?= json_encode(strtolower($language), JSON_THROW_ON_ERROR) ?>;
CKEDITOR.config.removePlugins = 'forms,newpage,preview,print,save,templates,flash,iframe';
CKEDITOR.config.extraAllowedContent = 'area[shape,coords,href,target,alt,title];map[name];img[usemap];*{*}(*)';
// Do not convert é to é in the editor
CKEDITOR.config.entities = false;
// Activate the editor
elements.forEach(element => CKEDITOR.replace(element.id));
};
document.querySelector('head').appendChild(script);
}
})();
</script>