CKEditorError: plugincollection-plugin-not-found {"plugin": null} при интеграции пользовательского плагина CKEditor5 с DJavascript

Форум по Javascript
Ответить
Anonymous
 CKEditorError: plugincollection-plugin-not-found {"plugin": null} при интеграции пользовательского плагина CKEditor5 с D

Сообщение Anonymous »

Я пытаюсь интегрировать собственный плагин CKEditor 5 (LanguageTool) в Drupal 10 с помощью специального модуля. Плагин успешно собирается, но когда Drupal загружает редактор, консоль браузера показывает:

Код: Выделить всё

CKEditorError: plugincollection-plugin-not-found {"plugin": null}
Редактор загружается, но пользовательский плагин не инициализируется.

🟩 Что я сделал (сводка)
  • Создал пользовательскую сборку CKEditor 5 с включенным плагином.
  • Запустил npm install и npm run build.
  • Скопировал сгенерированный файл build/ckeditor.js в свой пользовательский модуль Drupal.
  • Создал класс плагина Drupal CKEditor5:

Код: Выделить всё

/**
* @CKEditor5Plugin(
*   id = "ckeditor5_languagetool_plugin",
*   label = @Translation("LanguageTool")
* )
*/
class LanguageTool extends CKEditor5PluginBase {
public function getPlugins() {
return [ 'LanguageTool' ]; // JS pluginName
}
}
  • Добавлена ​​библиотека в my_module.libraries.yml
  • Включен плагин в текстовом формате
  • Очищены кеши (

    Код: Выделить всё

    drush cr
    )
🟥 Текущая проблема
Ошибка указывает на то, что Drupal запрашивает плагин CKEditor с именем «null», что обычно означает:
  • Несоответствие идентификатора плагина
  • Имя плагина в конфигурации текстового формата не соответствует аннотации PHP
  • Имя плагина JS не соответствует возвращаемому значению getPlugins()
Но после проверки я все равно вижу ошибку.

🟦 Код / Конфигурация Примеры
Класс плагина PHP

Код: Выделить всё

/**
* @CKEditor5Plugin(
*   id = "ckeditor5_languagetool_plugin"
* )
*/
class LanguageTool extends CKEditor5PluginBase {
public function getPlugins() {
return [ 'LanguageTool' ];
}
}
JS-плагин

Код: Выделить всё

export default class LanguageTool extends Plugin {
static get pluginName() {
return 'LanguageTool';
}
}
Настройка формата текста

Код: Выделить всё

ckeditor5.plugin.ckeditor5_languagetool_plugin:
enabled: true
🟧 Что я хочу знать
  • Должен ли идентификатор плагина Drupal (

    Код: Выделить всё

    ckeditor5_languagetool_plugin
    ) напрямую совпадает с именем плагина JS или только с записью текстового формата?
  • Известны ли какие-либо проблемы с загрузкой пользовательских плагинов при интеграции Drupal CKEditor 5?
  • Существует ли метод отладки, позволяющий узнать, какое имя плагина Drupal отправляет в CKEditor?
  • Я пропустил какой-либо шаг при сопоставлении плагина Drupal с именем плагина CKEditor?
🟩 Среда
  • Drupal 10.x
  • CKEditor 5 пользовательская сборка
  • Пользовательский модуль Drupal
  • PHP 8.1
  • Браузер: Chrome


Подробнее здесь: https://stackoverflow.com/questions/798 ... -integrati
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»