Добрый день, товарищи!
Решил поделиться инструкцией по установке и интеграции модуля Node Embed в редактор CKEditor, так как существующий гайд на оф сайте не совсем неактуален.
Последовательность установки модулей, думаю, не имеет значения.
Установка Node Embed проходит в штатном режиме и соответствует инструкции в описании к модулю.
- Устанавливаем модуль любым удобным способом;
- Включаем модуль;
- Переходим "Панель управления" -> "Конфигурация" -> "Текстовые форматы", выбираем формат для которого необходима функция вставки содержимого нод, далее "Настройки" и в списке фильтров ставим галку "Insert node", сохраняем.
Установка CKEditor, также не должна вызвать затруднений:
- Устанавливаем модуль любым удобным способом;
- Включаем модуль;
- Для того чтобы наши плагины не исчезли после обновления модуля, необходимо в настройки глобального профиля CKEditor ("Панель управления" -> "Конфигурация" -> "CKEditor" -> "Глобальный профиль"), в разделе расширенных настроек найти "Путь к директории с плагинами" и изменить его на %l/ckeditor/plugins ;
- В принципе, с CKEditor - всё, оригинальную инструкцию с рекомендациями можно найти тут.
Теперь самое интересное - интеграция Node Embed и CKEditor:
- Необходимо скачать плагин iframedialog для CKEditor и положить его в "sites/all/modules/ckeditor/plugins", хотя система предложит в "sites/all/libraries/ckeditor/plugins/iframedialog" (лично я положил и туда и туда);
- Далее, необходимо пропатчить файл node_embed.module в "sites/all/modules/node_embed", сам патч тут.
Тоже самое можно сделать вручную:- открываем;
- находим строчку 312;
- удаляем код
function node_embed_ckeditor_plugin() {
return array(
'NodeEmbed' => array(
'name' => 'NodeEmbed',
'desc' => t('Node Embed - embed nodes in content.'),
'path' => drupal_get_path('module', 'node_embed') .'/ckeditor/NodeEmbed/',
),
);
} - вставляем вместо него
function node_embed_ckeditor_plugin() {
return array(
'NodeEmbed' => array(
'name' => 'NodeEmbed',
'desc' => t('Node Embed - embed nodes in content.'),
'path' => drupal_get_path('module', 'node_embed') .'/ckeditor/NodeEmbed/',
'buttons' => array(
'NodeEmbed' => array(
'icon' => 'images/icon.gif',
'label' => 'Node Embed',
),
),
),
);
}
- Заходим в настройки CKEditor, выбираем нужный профиль, открываем настройки внешнего вида, в пункте "Плагины" ставим флаги у Node "Embed - embed nodes in content" и "Plugin file: iframedialog", в настройках панели инструментов перетаскиваем кнопку Node Embed в необходимое нам место;
- Проверяем.
Если возникли проблемы с высотой диалогового окна Node Embed, то можно исправить так:
- Открываем /plugins/node_embed/node_embed.css;
- Вставляем строчку
.cke_dialog_ui_vbox{height: 100% !important;}
Вложение | Размер |
---|---|
icon.gif | 990 байт |
Комментарии
Благодарю за то что делитесь опытом!
Это обязательно пригодится кому-то в будущем.
Положив в "sites/all/modules/ckeditor/plugins", плагин пропадет при первом же обновлении модуля CKEditor.
Буду рад, если помогу доброму человеку сэкономить время.
Исправил.
Да уж, спасибо большое за гайд. Подготовка к работе Node Embed не очень интуитивна. Очень рад, что нашел вашу инструкцию!