Хочу сделать свою кнопку которая вставляет div с конкретным классом.
Почитал мануал
Переименовал все с timestamp в clearfix (название и суть моей кнопки)
icons: 'clearfix',
init: function( editor ) {
editor.addCommand( 'insertclearfix', {
exec: function( editor ) {
editor.insertHtml( '<div class="logo_clear"> </div>' );
}
});
editor.ui.addButton( 'clearfix', {
label: 'Insert clearfix',
command: 'insertclearfix',
toolbar: 'insert'
});
}
});
Иконку тоже стырил с примера и только переименовал файл.
Бросил это в sites\all\modules\ckeditor\plugins\clearfix\
Активировал в настройках редактора этот плагин.
А нет кнопочки! В настройках новых кнопок нет. сама тоже не появилась.
Где я неправильно свернул?
Модуль 7.x-1.13
сам редактор CKEditor 4.3.1
Комментарии
Привет.
В "конфигурации" при настройках профилей ckeditora в "внешний вид редактора" настраивается отображение панелей. К примеру есть такая странная штука. Я добавил плагин пейджера, а в кнопках редактора кнопка разделения на страницы появляется только при использовании fulle HTML, а при использовании PHP формата по умолчанию ее нет в панели. Как я не извращался ничего не меняется.
Там есть еще возможность добавлять кнопки в панель. Попробуй попереключаться между - "Загрузить пример панели: Основное | Расширенный | Полный". Ну и посбрасывать кеш...
У меня два профиля. Один с "Простой текст", второй "Full HTML, PHP code".
Я во втором его активирую. Сохраняю. Чищу кеш. Захожу заново в редактирование, а ничего не происходит.
Можно попробовать разве что сделать третий профиль только с html
Там вот, есть еще такая штука. Дело в том, что папке ckeditor есть папка самого ckeditor с анологичным названием и в ней тоже есть папка plugins...
Тоже пробовал. И прописывал в config.js самого редактора и в ckeditor.config.js модуля.
Но явно не то. Он исчезает из настроек при любых обстоятельствах. А в "модуле" он виден.
Меня озадачивает уже другое. Этот пример виден в настройках, но тоже не виден как кнопка. Может пример говно.
Тоже вариант... Может поискать на "заморских" сайтах или форумах че пишут. Там как правило больше оригинальных постов а не передранных...
Хотя о чем это я, этот тоже "заморский"... А вот вопрос, воспроизведение примера в точности какой результат дает? Может попробовать их пример в действии и тогда им же и высказаться по поводу их примера?
уже и д.орг смотрел и стаковерфлоу. В основном там для 3ей версии. Да и английский мой хреновый.
Ковырял разные модули, экспериментировал... В общем вот оно решение.
Ошибка видимо в том, что не определена была картинка, а по стандартному пути она не ищется. Почти наверняка это из-за неких особенностей
icons: 'clearfix',
init: function( editor ) {
editor.addCommand( 'clearfix', {
exec: function( editor ) {
editor.insertHtml( '<div class="logo_clear"> </div>' );
}
});
editor.ui.addButton( 'clearfix', {
label: 'Insert clearfix',
icon : this.path + 'icons/clearfix.png',
command: 'clearfix',
toolbar: 'insert'
});
}
});
Этот код для template.php?
нет. Это плагин для плагина
Создается папка плагина sites\all\modules\ckeditor\plugins\%plugin-name%\
Там создается plugin.js с содержимым выше.
ещё нужна папка all\modules\ckeditor\plugins\%plugin-name%\icons\ туда я положил %plugin-name%.png
%plugin-name% у меня это clearfix
А?! Ясно. Отлично. "Пользительная веСч"!
Намедни "бодался" с "обрезанием" классов в дивах при использовании CKeditorА. (При сохранении редакции поста не сохранялись собственные в ручную прописанные классы) И тоже тогда подумал, что "самодельная" кнопочка бы пригодилась... ;Р
Да. Беда.
в ckeditor.config.js
config.allowedContent = true; /* all tags */
Не знаю как это отразится на безопасности, но работает.
Можно добавить свои теги или классы по вкусу по аналогии
Спасибо, на счет тегов посмотрю, это тоже интересно.
Я малость иначе прописал первую строчку: config.protectedSource.push(/<[a-z]*[a-z\s\=\"\']*><\/[\s\S][^/]*?>/g);
Нашел тут же у кого-то... Тоже работает.