Ckeditor довольно хороший визуальный инструмент для редактирование контента на Вашем сайте, но его стандартные функции не всегда удовлетворяют потребности концепции сайта. Настройка подразумевает в себя подключение плагинов, дополнительных css, удаление не нужных кнопок на панели CKeditor, а так же внедрение bootstrap компонентов.
На официальном сайте есть конструктор для сбора своего пакета, но как показала практика это не очень хорошее решение, так как некоторые плагины не совместимы текущей версией CKeditor или выбранные плагины конфликтуют друг с другом.
По этому мы соберем своей редактор с нуля, разбирая каждый плагин отдельно.
Вот такую панель в итоге мы получим
По сравнению со стандартной панелью, эта панель имеет подключение дополнительных плагинов и отключены ненужные кнопки
var editor = CKEDITOR.replace('editor',{height: 500});
AjexFileManager.init({returnTo: 'ckeditor', editor: editor});
Итак, мы поставили самый стандартный полный пакет функций от CKEditor, теперь приступим к его настройке. Переходим к файлу config.js, который находится в папке /js/ckeditor/config.js
Копируем содержимое папки в папку с плагинами http://example.com/js/ckeditor/plugins/youtube
Кстати на странице почти любого плагина есть своя документация на английском языке, но не думаю что в этом будут сложности, все познается путем перебора разных параметров.
config.extraPlugins = 'youtube';
Обновляем страницу, а если не помогло обновляем кэш страницы и видим кнопку youtube. По аналогии подключаем и другие необходимые плагины.
Вот что у меня получилось, когда я собирал плагины для редактирования статей и уроков на этом сайте.
tableresize — редактирование размера таблицы путем движения курсора
ckawesome — подключение иконок
Удаление ненужных кнопок из CKEditor
Некоторые плагины почти ни когда не используются, давайте займемся отключением ненужных плагинов такие как: О CKEditor, Сохранить, Новая страница, Печать, Шаблоны, Flash, Смайлики, Поиск.
Я ими ни когда не пользуюсь, по этому считаю что их можно отключить из панели редактора.
var editor = CKEDITOR.replace('editor',{height: 500});
AjexFileManager.init({returnTo: 'ckeditor', editor: editor});
Подключение CSS в CKEditor
Обратите внимание: Когда мы работаем в редакторе, то стиль написания контента берется от ckeditor. Он различается от общего стиля сайта, это выражается во многом, например: межстрочный интервал разный, размера шрифта отличаются друг от друга, стиль тегов h1, h2, h3 другой и это заметно во многих других мелочах. Давайте подключим свои стили сайта.
Подключаем 2 CSS файла, bootstrap.css и styles.css
Напиши комментарий и поделись своим мнением, все ли у тебя получилось, какие сложности возникли или просто напиши спасибо за статью
No rating
4,8(97)
Нужна реализация этого решения на вашем сайте?
Не хотите разбираться с кодом самостоятельно? Я могу установить, настроить и адаптировать решение под ваш сайт или разработать аналогичную функциональность под ваши требования.
Вы не могли добавить в редактор сделать следующие функции или подсказать как это сделать самому.
Буду признателен, если посоветуете, что почитать или ключевые слова для поиска функций, перечисленных ниже …
Список функций:
1. изменить расстояние между текстовыми строками;
2. Вставка текста со ссылкой на источник;
Пример сценария:
— Я копирую текст из браузера в буфер обмена;
— Я вставляю текст из буфера обмена в текстовый редактор;
— Текст вставлен и внизу текста автоматически вставляется строка «источник» с гиперссылкой на страницу, откуда я скопировал текст:
Пример строки:
«источник — https://kisameev.ru/nastrojka-ckeditor-pod-sebya-podklyuchenie-plaginov/»
3. Вставка изображения в текст из буфера обмена;
4. Вставка изображения в текст, используя метод Drag-and-Drop с локального диска;
5. Вставка файла ниже в текст с помощью метода Drag-and-drop с локального диска (или другие инетррпритации этой функции);
6. Вставка спойлеров;
Пример: https://ibb.co/j3VwcH
7. Возможность сохранения настроек редактора;
8. Как правильно вставить «iframe»?;
Делаю как на скрине.
Не рабтоает.
Скрин настроек — http://prntscr.com/j3dmhv
Я начинающий программист, поэтому извиняюсь, если мои вопросы неверны.
Добрый день, все дополнительные плагины на оф. странице редактора https://ckeditor.com/cke4/addons/plugins/all
Суть:
1. скачиваете нужный плагин
2. Закачиваете на сервер в папку /ckeditor/plugins/
3.Добавляете свой плагин в эту строку через запятую
config.extraPlugins = «btgrid,youtube,bootstrapTabs,bgimage,lineheight,html5video,codesnippet,collapsibleItem,tableresize,ckawesome»
Обратите внимания некоторые плагины связаны с другими. Это можно увидеть в самом низу в строке Add-on dependencies когда скачиваете плагин
иван
8 лет назад
дмитрий, пожалуйста поправьте стили коментариев. они очень кривые.
посмотрите свой сайт в других браузерах. у меня опера, вивальди, мозила — видно проблему.
успеха.
Этот скрипт есть в источнике — смотрите внимательнее
Кирилл
5 лет назад
через 5 лет обнаружил, что некоторые тексты при отправке из СКЕ на сервер для сохранения… методом ГЕТ — портят ссылку и в ответ получается 403 (((
А как я настраивал кнопку с дискеткой. Ну не помню.
Форм , инпутов, сабмитов нет. Редактирование происходит в АйФрейме.
Пир нажатии на дискетку — вызывается КаллБэк функция (9)
Помню, плагин писал ХМЛсейве. Плагин есть, он в конфиге прописан. Но в нем нет функции сохранения.
по логам вижу запрос на сервер кривой.
Вижу функцию аякса которая его делает. Но где она вызывается — поиском найти не получатся.
Во танцы с бубном ))
Вячеслав
5 лет назад
А может быть есть какое-то решение? Данная конструкция config.protectedSource.push(//g) не работает.
Сергей
5 лет назад
Код php всё-равно этот редактор комментирует даже с таким настройками.
Если ваш сайт интенсивно работает с данными и вам нужно будет легко визуализировать эти данные, как правило, с помощью библиотеки графиков JavaScript. Однако таких библиотек существует несколько десятков, и все они имеют несколько разные возможности.
В этой статье мы рассмотрим AnyChart с помощью 10 стильных, но простых в использовании примеров. AnyChart отлично подходит для Ваших потребностей в визуализации данных и простоты, с которой он может обрабатывать данные практически в любом формате.
Отправка формы ajax запросом — это значит отдать вводимые данные серверу и вернуть результат пользователю без перезагрузки страницы, при этом все проверки на ввод данных производится на сервере и преобразуются в json формат, а не на клиенте при помощи javascript.
HTML5 представляет несколько новых атрибутов для реализации проверки на основе браузера. pattern Атрибут является регулярным выражением , которое определяет диапазон допустимых входов для textarea элементов и большинство типов input. required Атрибут определяет, требуется ли поле. Для устаревших браузеров, которые не реализуют эти атрибуты, мы можем использовать их значения в качестве основы для полифилла. Мы также можем использовать их для обеспечения более интересного усовершенствования — мгновенной проверки формы.
Когда я начал изучать эту тему, мне не нужна была трехмерная карусель, но я больше интересовался техническими деталями ее реализации. Разумеется, основные используемые методы, конечно же, относятся к модулю CSS Transforms Module Level 1 , но по мере того, как будет применена группа других технологий разработки переднего плана, затрагивая различные темы в CSS, Sass и клиентском JavaScript .
Как реализовать дополнительные функции?
Вы не могли добавить в редактор сделать следующие функции или подсказать как это сделать самому.
Буду признателен, если посоветуете, что почитать или ключевые слова для поиска функций, перечисленных ниже …
Список функций:
1. изменить расстояние между текстовыми строками;
2. Вставка текста со ссылкой на источник;
Пример сценария:
— Я копирую текст из браузера в буфер обмена;
— Я вставляю текст из буфера обмена в текстовый редактор;
— Текст вставлен и внизу текста автоматически вставляется строка «источник» с гиперссылкой на страницу, откуда я скопировал текст:
Пример строки:
«источник — https://kisameev.ru/nastrojka-ckeditor-pod-sebya-podklyuchenie-plaginov/»
3. Вставка изображения в текст из буфера обмена;
4. Вставка изображения в текст, используя метод Drag-and-Drop с локального диска;
5. Вставка файла ниже в текст с помощью метода Drag-and-drop с локального диска (или другие инетррпритации этой функции);
6. Вставка спойлеров;
Пример: https://ibb.co/j3VwcH
7. Возможность сохранения настроек редактора;
8. Как правильно вставить «iframe»?;
Делаю как на скрине.
Не рабтоает.
Скрин настроек — http://prntscr.com/j3dmhv
Я начинающий программист, поэтому извиняюсь, если мои вопросы неверны.
Добрый день, все дополнительные плагины на оф. странице редактора https://ckeditor.com/cke4/addons/plugins/all
Суть:
1. скачиваете нужный плагин
2. Закачиваете на сервер в папку /ckeditor/plugins/
3.Добавляете свой плагин в эту строку через запятую
config.extraPlugins = «btgrid,youtube,bootstrapTabs,bgimage,lineheight,html5video,codesnippet,collapsibleItem,tableresize,ckawesome»
Обратите внимания некоторые плагины связаны с другими. Это можно увидеть в самом низу в строке Add-on dependencies когда скачиваете плагин
дмитрий, пожалуйста поправьте стили коментариев. они очень кривые.
посмотрите свой сайт в других браузерах. у меня опера, вивальди, мозила — видно проблему.
успеха.
Хорошо)
Благодарю за информацию. Применил все, все работает 🙂
Рад что статья помогла!
Здравствуйте, можете дать добавить в статью ссылку к этому скрипту js/AjexFileManager/ajex.js
Этот скрипт есть в источнике — смотрите внимательнее
через 5 лет обнаружил, что некоторые тексты при отправке из СКЕ на сервер для сохранения… методом ГЕТ — портят ссылку и в ответ получается 403 (((
А как я настраивал кнопку с дискеткой. Ну не помню.
Форм , инпутов, сабмитов нет. Редактирование происходит в АйФрейме.
Пир нажатии на дискетку — вызывается КаллБэк функция (9)
Помню, плагин писал ХМЛсейве. Плагин есть, он в конфиге прописан. Но в нем нет функции сохранения.
по логам вижу запрос на сервер кривой.
Вижу функцию аякса которая его делает. Но где она вызывается — поиском найти не получатся.
Во танцы с бубном ))
А может быть есть какое-то решение? Данная конструкция config.protectedSource.push(//g) не работает.
Код php всё-равно этот редактор комментирует даже с таким настройками.
Да к сожалению я не смог обойти этот момент, но есть обход сделать что то типа [шорт кодов] которые вызывались уже внутри сервера
Здравствуйте!
Подскажите пожалуйста,принимаете ли Вы заказы на различные работы , связанные с сайтами?
Здравствуйте, да конечно