Расширения PrimeFaces CKEditor: невозможно получить доступ к пользовательской конфигурации - PullRequest
2 голосов
/ 06 января 2020

Мне нужна моя pe:ckEditor для загрузки пользовательской конфигурации, но у меня какое-то время не получалось, я буду рад любым советам, как заставить его работать.

(мне нужно, чтобы он работал имеют эту проблему: PrimeFaces Extensions CKEditor: пытается установить кодировку UTF-8 безуспешно , которая может быть решена этим https://ckeditor.com/old/forums/CKEditor-3.x/utf-8-ckeditor или что-то вроде этого https://ckeditor.com/old/forums/Support/Change-charset-UTF-8)

Файл пользовательской конфигурации находится в той же папке, что и мой файл X HTML, в котором находится pe:ckEditor.

Содержимое пользовательской конфигурации:

CKEDITOR.editorConfig = function( config ) {
    config.uiColor = '#AADC6E';
    config.toolbar = [
        { name: 'basicstyles', items: [ 'Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', '-', 'RemoveFormat' ] },
        { name: 'paragraph', items: [ 'NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Blockquote', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'] },
        '/',
        { name: 'links', items: [ 'Link', 'Unlink' ] },
        { name: 'styles', items: [ 'Styles', 'Format', 'Font', 'FontSize' ] },
        '/',
        { name: 'colors', items: [ 'TextColor', 'BGColor' ] },
        { name: 'insert', items: [ 'Table', 'HorizontalRule',  'SpecialChar'] },
        { name: 'tools', items: [ 'ShowBlocks' ] },
        { name: 'document', items: [ 'Source' ] },
    ];
};

Я пробовал:

<h:outputScript name="ckEditor.js" library="js"></h:outputScript>
<pe:ckEditor id="editor" customConfig="ckEditor.js"></pe:ckEditor>
<script type="text/javascript">
    CKEDITOR.config.customConfig = 'ckEditor.js'; 
    CKEDITOR.replace('editor'); 
 </script>

А:

<h:outputScript name="ckEditor.js" library="js"></h:outputScript>
<pe:ckEditor id="editor" customConfig="ckEditor.js"></pe:ckEditor>

А:

<pe:ckEditor id="editor"></pe:ckEditor>
    <script type="text/javascript">
        CKEDITOR.config.customConfig = 'ckEditor.js'; 
        CKEDITOR.replace('editor'); 
     </script>

А:

<pe:ckEditor id="editor" customConfig="ckEditor.js"></pe:ckEditor>

А:

<pe:ckEditor id="editor" customConfig="./ckEditor.js"></pe:ckEditor>

И (полный путь к файлам: project / WebContent / pages / inc / ckEditor. js и project / WebContent / pages / inc / emailEditor. х html):

<pe:ckEditor id="editor" customConfig="project/WebContent/pages/inc/ckEditor.js"></pe:ckEditor>

А:

<pe:ckEditor id="editor" customConfig="/project/WebContent/pages/inc/ckEditor.js"></pe:ckEditor>

И (из-за https://forum.primefaces.org/viewtopic.php?t=31334):

<pe:ckEditor id="editor" customConfig="#{request.contextPath}/ckEditor.js"></pe:ckEditor>

Когда я ввел детали из пользовательского конфи В <script> ниже <pe:ckEditor>, это сработало, но, к сожалению, это не решение для моего случая, так как я использую редактор на многих страницах и его настройки необходимо хранить только в одном месте.

Кроме того, когда я гуглял, я обнаружил, что мне следует поместить инструкции для пользовательской конфигурации в файл конфигурации по умолчанию, но я не нашел никакого файла конфигурации по умолчанию в моем проекте, так что, к сожалению, это не вариант для меня .

Я сделал Google, прочитал документацию на странице расширений PrimeFaces и странице CKEditor, прочитал похожие вопросы на форуме PrimeFaces, форуме CKEditor и здесь, но пока ничего не помогло.


Расширения PrimeFaces - версия 7.0.2 PrimeFaces - версия 7.0.7

1 Ответ

3 голосов
/ 06 января 2020

Атрибут customConfig в pe:ckEditor является URL-адресом.
Так что просто поместите ваш JS где-нибудь, где он доступен через браузер.
Если он доступен (например) как localhost:8080/myfolder/ckeditor.js , он должен работать правильно, когда вы установите customConfig в '# {request.contextPath} myFolder / ckeditor. js'

...