Настройка CKEdit или как убрать лишние значки на панели. Установка визуального редактора CKEditor Ckeditor настройка кнопок

CKEditor 4 - WYSIWYG редактор статей. Он позволяет выполнять гибкое форматирование текстов, включающее работу со стилями, списками, ссылками, графическими изображениями и т.д.

Интерфейс

Рисунок 1. Окно редактора

В окне WYSIWYG редактора находятся следующие панели кнопок:


Переключение режима просмотра
Печать и выбор шаблона статьи
Работа с буфером обмена (вырезать, копировать, вставить, отменить)
Поиск и замена
Создание форм
Вставка спойлеров (сворачиваемого текста) и разрывов страниц
Изменение стиля текста
Форматирование абзацев
Вставка ссылок
Вставка медиа-контента сторонних сайтов
Вставка объектов
Выбор стиля форматирования
Выбор форматирования абзаца
Выбор шрифта
Выбор размера шрифта
Выбор цвета текста или фона
Проверка орфографии
Дополнительные возможности просмотра (отобразить блоки и развернуть)

В нижней панели окна редактора содержится информация о текущем теге и статистика текста:


Переключение режима просмотра

В панели переключения режимов просмотра редактора находятся кнопки:


Печать и выбор шаблона статьи

В панели печати и выбора шаблона статьи находятся следующие кнопки:


Печать статьи на принтере. После нажатия на данную кнопку откроется стандартное диалоговое окно с предложением выбрать принтер и отправить на печать текст статьи.
Выбор шаблона статьи:
  • Image and Title – шаблон статьи, содержащей заголовок, изображение и текст
  • Strange Template – шаблон статьи, текст которой разделен на две колонки
  • Text and Table – шаблон статьи, содержащей заголовок, таблицу и текст
Шаблон представляет собой предопределенный HTML-код разметки будущей статьи. Описание шаблонов содержится в файле «plugins/templates/templates/default.js». Можно добавить пользовательские шаблоны в данный файл или создать отдельный файл с шаблонами и настроить CKEditor на работу с ним.
Работа с буфером обмена

В редакторе доступны следующие операции по работе с буфером обмена:


Кнопка «Вырезать». Вырезает выделенный фрагмент статьи и помещает его в буфер обмена.
Кнопка «Копировать». Копирует выделенный фрагмент статьи и помещает его в буфер обмена.
Кнопка «Вставить». Вставляет в статью содержимое буфера обмена. Если текст вставляется из внешних приложений, например, MS Office, при вставке будут включены все теги, связанные с форматированием. Большая часть данных тегов является лишней и должна быть удалена, что затрудняет редактирование статьи. Поэтому данной кнопкой рекомендуется пользоваться только для вставки неформатированных текстов.
Кнопка «Вставить только текст». Аналогична кнопке «Вставить». При вставке фрагмента статьи из буфера обмена его форматирование полностью удаляется.
Кнопка «Вставить из Word». Аналогично кнопке «Вставить». Используется, если требуется сохранить форматирование вставляемого фрагмента. При вставке оптимальным образом сохраняется внешний вид текста и удаляется ненужное форматирование. Рекомендуется использовать при копировании текста из MS Word или других приложений MS Office.
Кнопка «Отменить». Используется для отмены последнего выполненного изменения.
Кнопка «Повторить». Используется для возврата последнего отмененного изменения.
Поиск и замена

В панели поиска и замены находятся следующие кнопки:


Поиск

При нажатии на кнопку «Найти» открывается окно поиска:



В поле «Найти» вводится искомый фрагмент текста.


Доступны следующие опции:

  • По всему тексту. Если опция включена, то при достижении конца статьи поиск будет продолжен с ее начала. Если опция отключена, то при достижении конца статьи поиск будет завершен.

Для выполнения поиска необходимо ввести искомый фрагмент, включить требуемые опции поиска и нажать кнопку «Найти». Редактор выполнит поиск и выделит первый найденный фрагмент в тексте статьи. При каждом повторном нажатии на кнопку «Найти» редактор будет выполнять поиск далее по тексту и выделять очередной найденный фрагмент.

Замена

При нажатии на кнопку «Заменить» открывается окно замены фрагмента текста:



В поле «Найти» вводится искомый фрагмент текста. В поле «Заменить на» текст, на который требуется заменить искомый фрагмент.


Доступны следующие опции:

  • Учитывать регистр. Если опция включена, то при поиске будет учитываться регистр символов искомого фрагмента.
  • Только слово целиком. Если опция включена, то редактор будет искать введенный фрагмент как слово целиком. В результаты поиска не попадут слова, для которых введенный фрагмент является частью.
  • По всему тексту. Если опция включена, то при достижении конца статьи поиск будет продолжен с ее начала. Если опция выключена, то при достижении конца статьи поиск будет завершен.

Для выполнения замены необходимо заполнить поля «Найти» и «Заменить на», включить требуемые опции поиска и нажать кнопку «Заменить» или «Заменить все». При нажатии на кнопку «Заменить» редактор выполнит поиск и заменит первый найденный фрагмент в тексте статьи. При каждом повторном нажатии на кнопку «Заменить» редактор будет выполнять поиск далее по тексту и заменять очередной найденный фрагмент.
При нажатии на кнопку «Заменить все» редактор сразу выполнит поиск и замену требуемого фрагмента по всему тексту статьи.

Создание форм

Формы предназначены для ввода данных пользователем в окне браузера, передаче их обработчику и, при необходимости, вывода результатов обработки. Например: форма регистрации пользователя, форма обратной связи и т.д.


В панели создания форм находятся следующие кнопки:


Кнопка «Форма». Используется для вставки формы в статью. В HTML-коде форме соответствует тег form .
Кнопка «Чекбокс». Используется для вставки чекбоксов (флаговых кнопкок, галочек) в форму или в статью.
Кнопка «Радиокнопка». Используется для вставки радиокнопок (переключателей) в форму или в статью.
Кнопка «Текстовое поле». Используется для вставки однострочного поля для ввода текста.
Кнопка «Многострочное текстовое поле». Используется для вставки многострочного поля для ввода текста.
Кнопка «Выпадающий список». Используется для вставки выпадающего списка.
Кнопка «Кнопка». Используется для вставки кнопки в форму или в статью.
«Кнопка-изображение». Используется для вставки изображения, используемого в качестве кнопки.
Кнопка «Скрытое поле». Используется для вставки скрытого поля в форму или в статью.
Форма

При нажатии на кнопку «Форма» открывается окно настроек новой формы.



В окне настроек формы находятся следующие поля:


Имя Произвольное имя формы. В HTML-коде – параметр name.
Действие URL-адрес программы или документа, который обрабатывает данные, введенные в форму. В HTML-коде – параметр action.
Идентификатор Уникальный идентификатор формы. В HTML-коде – параметр id.
Кодировка Выбор способа кодирования данных формы. В HTML-коде – параметр enctype. Доступные значения:
  • text/plain – пробелы заменяются знаком «+», буквы и другие символы не кодируются;
  • multipart/form-data – данные не кодируются. Применяется при отправке файлов через форму;
  • application/x-www-form-urlencoded – пробелы заменяются знаком «+», символы отличные от латинской раскладки (буквы русского алфавита и пр.) кодируются их шестнадцатеричными значениями.
Цель Выбор окна или фрейма, в который обработчик данных формы будет выводить результаты обработки. В HTML-коде – параметр target.
Доступные значения:
  • Новое окно (_blank) – выводит результаты в новом окне браузера;
  • Главное окно (_top) – игнорирует фреймы и выводит результаты в полном окне браузера. Если фреймов нет, то работает аналогично _self (см. ниже);
  • Текущее окно (_self) – выводит результаты в текущее окно;
  • Родительское окно (_parent) – выводит результаты в родительском фрейме. Если фреймов нет, то работает аналогично _self.
Метод Выбор используемого метода HTTP-запроса. В HTML-коде – параметр method.
Доступные значения:
  • GET – для передачи данных используется URL-адрес вызываемого обработчика. Передаваемые данные отображаются в адресной строке браузера. Объем передаваемых данных ограничен максимально допустимой длиной адресной строки браузера;
  • POST – для передачи данных используется тело запроса веб-браузера к серверу. Передаваемые данные не отображаются в браузере. Объем передаваемых данных не ограничен. Метод позволяет передавать файлы.
Чекбокс

Чекбокс предназначен для отображения элементов управления, которые включают или выключают какое-либо свойство или опцию. Такой элемент может принимать одно из двух значений: да или нет. В HTML-коде данному элементу соответствует тег input type="checkbox" . При нажатии на кнопку «Чекбокс» открывается окно настроек нового элемента.



В окне настроек элемента «Чекбокс» находятся следующие поля:

  • Имя - произвольное имя элемента. В HTML-коде – параметр name;
  • Значение - выполняет роль уникального идентификатора элемента. В HTML-коде – параметр value;
  • Выбрано - если опция включена, то по умолчанию данный элемент будет помечен.
Радиокнопка

Элемент «Радиокнопка» предназначен для отображения группы значений с возможностью выбора только одного из них. Т.е. элементы в пределах группы являются взаимоисключающими. Каждый элемент может принимать одно из двух значений: да или нет. В HTML-коде данному элементу соответствует тег input type="radio" . При нажатии на кнопку «Радиокнопка» открывается окно настроек нового элемента.



В окне настроек элемента «Радиокнопка» находятся следующие поля:

  • Элементы в пределах группы должны иметь одно и то же имя.
  • Значение - выполняет роль уникального идентификатора элемента. В HTML-коде – параметр value.
  • Выбрано - если опция включена, то по умолчанию данный элемент будет помечен. В пределах группы данное свойство должно быть включено только у одного элемента. Если оно включено у нескольких элементов, то помечен будет только последний из них.
Текстовое поле

Элемент «Текстовое поле» предназначен для ввода текстовой строки пользователем. В HTML-коде данному элементу соответствует тег input type="text" . При нажатии на кнопку «Текстовое поле» открывается окно настроек нового поля.



  • Имя - произвольное имя элемента. В HTML-коде – параметр name.
  • Значение - содержит текст, который будет отображаться в текстовом поле по умолчанию. В HTML-коде – параметр value.
  • Ширина поля (в символах) - длина области ввода текстового поля в символах. В HTML-коде – параметр size.
  • Макс. количество символов - максимальная длина строки, которую можно ввести в текстовое поле, в символах. В HTML-коде – параметр maxlength.
  • Тип содержимого - тип содержимого текстового поля. В HTML-коде – параметр type. Перед отправкой данных на сервер выполняется их проверка на соответствие установленному типу.

Доступные типы содержимого:

  • Email – текстовое поле содержит адрес электронной почты;
  • Пароль – текстовое поле содержит пароль;
  • Поиск – текстовое поле предназначено для ввода искомого текста;
  • Номер телефона – текстовое поле содержит телефонный номер;
  • Текст – текстовое поле содержит обычную строку;
  • Ссылка – текстовое поле содержит URL-адрес.
Многострочное текстовое поле

Элемент «Многострочное текстовое поле» предназначен для ввода пользователем текста, состоящего из нескольких строк. В HTML-коде данному элементу соответствует парный тег textarea . При нажатии на кнопку «Многострочное текстовое поле» открывается окно настроек нового поля.



В окне настроек элемента «Текстовое поле» находятся следующие поля:

  • Имя - произвольное имя элемента. В HTML-коде – параметр name.
  • Колонок - ширина поля в символах. В HTML-коде – параметр cols.
  • Строк - высота поля в строках. В HTML-коде – параметр rows.
  • Значение - Содержит текст, который будет отображаться в текстовом поле по умолчанию.
Выпадающий список

Элемент «Выпадающий список» предназначен для отображения списка множественного выбора или выпадающего списка. В HTML-коде данному элементу соответствует парный тег select . Элементам списка соответствует парный тег option . При нажатии на кнопку «Выпадающий список» открывается окно настроек нового списка.




В окне настроек списка множественного выбора находятся следующие поля:

  • Имя - произвольное имя элемента. В HTML-коде – параметр name.
  • Значение - содержит значение элемента списка, который выбран по умолчанию. В HTML-коде для данного элемента в теге option устанавливается параметр selected="selected" .
  • Размер - высота отображаемой области списка в строках. Если размер равен единице, то будет отображаться выпадающий список. Если размер не указан, то вид списка будет зависеть от параметра «Разрешить выбор нескольких вариантов».

Группа параметров «Доступные варианты»:

  • Текст - поле ввода отображаемого текста элемента списка. Вводится в паре с полем «Значение». Для добавления пары «Текст – Значение» в список необходимо нажать кнопку «Добавить».
  • Значение - поле ввода значения элемента списка, передаваемого на сервер. Вводится в паре с полем «текст». Для добавления пары «Текст – Значение» в список необходимо нажать кнопку «Добавить».
  • Добавить - кнопка добавления введенной пары «Текст – Значение» в список.
  • Изменить - кнопка изменения выбранного элемента списка. Для изменения необходимо выбрать требуемый элемент в настройках списка, отредактировать содержимое полей «Текст» и «Значение» и нажать кнопку «Изменить». В выбранный элемент будут внесены соответствующие изменения.
  • Поднять - кнопка перемещения выбранного элемента списка на один уровень выше.
  • Опустить - кнопка перемещения выбранного элемента списка на один уровень ниже.
  • Пометить как выбранное - при нажатии на кнопку выбранный элемент списка становится помеченным как выбранный по умолчанию. Значение элемента отображается в поле «Значение» (см. выше). В HTML-коде для данного элемента в теге option устанавливается параметр selected="selected" .
  • Удалить - кнопка удаления выбранного элемента из списка.
  • Разрешить выбор нескольких вариантов - если свойство включено, то с помощью клавиши ctrl можно будет выбрать несколько элементов списка. Если размер списка не указан и свойство выключено, то будет отображаться выпадающий список. Если же размер списка не указан и свойство включено, то устанавливается размер списка равный четырем.

Завершение статьи следует…

Сегодня разберемся, как интегрировать и настроить очень популярный редактор контента CKEditor в стандартное приложение ASP.NET MVC. Также установим и настроим не менее популярный менеджер файлов CKFinder.

Официальная страница разработчика: https://ckeditor.com/

CKEditor - это очень популярный на сегодняшний день визуальный WYSIWYG редактор HTML-содержимого.

CKFinder - это менеджер файлов, который позволяет получить доступ к файловой системе на сервере и управлять файлами из браузера клиента.

Обычно оба этих компонента идут в связке, то есть менеджер файлов интегрируется в редактор.

CKEditor представлен в двух версиях. Версия 4 как более ранняя и, соответственно, более распространенная. И версия 5, новая, реализующая модульную архитектуру, с множеством нововведений.

Настройка CKEditor

Я в своих проектах использую 4-ую версию, ее функционала вполне хватает для решения любых задач. Скачаем архив с редактором и добавим его себе в проект.

Добавить CKEditor очень просто. Это происходит в несколько этапов:

  • подключаем через тег JS-библиотеку на страницу;
  • определяем HTML-тег , который будет использоваться в качестве контейнера для CKEditor;
  • используем метод CKEDITOR.replace(); для подключения редактора к ранее определенной .
  • } document.addEventListener("DOMContentLoaded", function (event) { var editor = CKEDITOR.replace("content1"); });

    Все готово! В приведенном выше примере CKEditor подключается к текстовой области "content1" внутри HTML-формы. Далее содержимое этого поля будет отправлено на сервер.

    Стоит отметить, что для CKEditor существует множество плагинов, который расширяют его стандартный функционал. Также плагины можно писать самому (более подробно этот процесс описывается в официальной документации на сайте). Давайте добавим к редактору плагин, который позволяет встраивать на страницу видео с видеохостинга Youtube.

    На момент написания статьи все плагины можно найти в отдельном разделе на сайте. Интересующий нас плагин находится по адресу: https://ckeditor.com/cke4/addon/youtube


    После этого на панели инструментов редактора появится новая кнопка, позволяющая работать с новым плагином.

    Настройка CKFinder

    Теперь разберемся с менеджером файлов CKFinder . Так как файлы (например, картинки) у нас располагаются на сервере, то помимо подключения этого компонента на клиенте, то есть в браузере пользователя, нам также будет необходимо настроить его со стороны сервера, а конкретно подключить некоторые библиотеки и реализовать несколько методов.

    Официальная документация по настройке коннектора для ASP.NET приложений находится по адресу: https://ckeditor.com/docs/ckfinder/ckfinder3-net/

    В отличии от редактора CKEditor, который мы настраивали на сайте и скачивали вручную, CKFinder мы можем добавить в проект прямо в Visual Studio через . Минимальный необходимый для работы набор пакетов выглядит так:

  • CKSource.CKFinder - JavaScript-клиент, подключается на стороне клиента
  • CKSource.CKFinder.Connector.Core - основная и ключевая библиотека, которая обеспечивает работу коннектора CKFinder на сервере
  • CKSource.CKFinder.Connector.Config - эта библиотека позволяет настраивать CKFinder через общий . Обратите внимание, как изменится конфиг-файл после установки этого пакета, теперь там находятся все настройки для CKFinder.
  • CKSource.CKFinder.Connector.Host.Owin - эта библиотека позволяет подключить коннектор как OWIN-компонент в приложении. На серверной стороне CKFinder работает как раз следуя этой спецификации, т.е. Open Web Interface for .NET
  • Microsoft.Owin.Host.SystemWeb - сразу же установим OWIN хост или сервер
  • CKSource.FileSystem.Local - этот компонент добавляет поддержку работы с файловой системой на сервере
  • После установки всех необходимых компонентов можно приступить к настройке серверной стороны.

    Во-первых, CKFinder требует, чтобы доступ к файловой системе был только у аутентифицированных пользователей, то есть при каждом запросе на сервер через этот менеджер файлов мы должны сообщать ему, имеет ли право данный пользователь получить доступ к файлам на сервере или нет.

    Для этого нам нужно реализовать специальный интерфейс, а в нем метод, который аутентифицирует все входящие запросы.

    CKFinderAuthenticator.cs

    Public class CKFinderAuthenticator: IAuthenticator { public Task AuthenticateAsync(ICommandRequest commandRequest, CancellationToken cancellationToken) { var user = new User(true, new List()); return Task.FromResult((IUser) user); } }

    В приведенном выше примере мы просто каждый раз возвращаем фейкового пользователя, который всегда аутентифицирован (флаг true) и не имеет никаких ролей (пустой лист). То есть у нас всегда есть права на доступ к файловой системе. В реальном проекте к этому вопросу, конечно, нужно подойти более серьезно и совместить этот метод с существующей системой аутентификации и авторизации пользователей.

    Namespace CKEditor { public class Startup { public void Configuration(IAppBuilder app) { //регистрируем файловую систему для коннектора FileSystemFactory.RegisterFileSystem(); //объявляем маршрут в приложении и сопоставляем его с коннектором //клиентская JS-библиотека CKFinder ожидает увидеть коннектор именно по этому маршруту app.Map("/ckfinder/connector", SetupConnector); } //объявляем метод по настройке и инициализации коннектора private static void SetupConnector(IAppBuilder app) { //создаем экземпляры необходимых классов var connectorFactory = new OwinConnectorFactory(); var connectorBuilder = new ConnectorBuilder(); var customAuthenticator = new CKFinderAuthenticator(); connectorBuilder .LoadConfig() //подгружаем конфигурацию из файла Web.config .SetAuthenticator(customAuthenticator) //устанавливаем ранее определенный аутентификатор.SetRequestConfiguration((request, config) => { config.LoadConfig(); }); //определяем конфигурацию для каждого отдельного запроса //создаем экземпляр коннектора var connector = connectorBuilder.Build(connectorFactory); //добавляем коннектор в pipeline app.UseConnector(connector); } } }

    На этом настройка серверной части завершена. Теперь интегрируем CKFinder-клиент с CKEditor на странице.

    @using (Html.BeginForm("Index", "Home", FormMethod.Post)) { } document.addEventListener("DOMContentLoaded", function (event) { var editor = CKEDITOR.replace("content1"); CKFinder.setupCKEditor(editor); });

    Если все скрипты подключены правильно и на стороне сервера коннектор настроен, то мы получим доступ к файловой системе через CKFinder из браузера пользователя.

    В зависимости от настроек коннектора в файле Web.config мы можем менять разрешения на манипуляции с файлами и папками (создание, перемещение и т.д.).

    Отмечу, что мы рассмотрели только базовую конфигурацию CKFinder. В дополнение к этому можно прикрутить логирование, кэширование файлов, различные плагины (например, добавлять водяной знак к загруженным изображениям) и т.д. Более подробно об этом можно почитать в официальной документации.

    Table of contents

    When creating an editor in your page, it is possible to set up configurations that change many of its aspects. For example:

    ClassicEditor .create(document .querySelector("#editor" ), { toolbar : [ "heading" , "|" , "bold" , "italic" , "link" , "bulletedList" , "numberedList" , "blockQuote" ], heading : { options : [ { model : "paragraph" , title : "Paragraph" , class : "ck-heading_paragraph" }, { model : "heading1" , view : "h1" , title : "Heading 1" , class : "ck-heading_heading1" }, { model : "heading2" , view : "h2" , title : "Heading 2" , class : "ck-heading_heading2" } ] } }) .catch(error =>

    As you can see, configurations are set by a simple JavaScript object passed to the create() method.

    Removing features

    Builds come with all features included in the distribution package enabled by default. They are defined as plugins for CKEditor.

    In some cases, you may need to have different editor setups in your application, all based on the same build. For that purpose, you need to control the plugins available in the editor at runtime.

    In the example below Heading and Link plugins are removed:

    // Remove a few plugins from the default setup. ClassicEditor .create(document .querySelector("#editor" ), { removePlugins : [ "Heading" , "Link" ], toolbar : [ "bold" , "italic" , "bulletedList" , "numberedList" , "blockQuote" ] }) .catch(error => { console .log(error); });

    Be careful when removing plugins from CKEditor builds using config.removePlugins . If removed plugins were providing toolbar buttons, the default toolbar configuration included in a build will become invalid. In such case you need to provide the updated toolbar configuration as in the example above.

    List of plugins

    Each build has a number of plugins available. You can easily list all plugins available in your build:

    ClassicEditor.builtinPlugins.map(plugin => plugin.pluginName);

    Adding features Adding complex features

    As CKEditor builds do not include all possible features, the only way to add more features to them is to create a custom build .

    Adding simple (standalone) features

    There is an exception to every rule. Although it is impossible to add plugins that have dependencies to @ckeditor/ckeditor5-core or @ckeditor/ckeditor5-engine (that includes nearly all existing official plugins) without rebuilding the build, it is still possible to add simple, dependency-free plugins.

    import ClassicEditor from "@ckeditor/ckeditor5-build-classic" ; function MyUploadAdapterPlugin ( editor ) { editor.plugins.get("FileRepository" ).createUploadAdapter = function ( loader ) { // ... }; } // Load the custom upload adapter as a plugin of the editor. ClassicEditor .create(document .querySelector("#editor" ), { extraPlugins : [ MyUploadAdapterPlugin ], // ... }) .catch(error => { console .log(error); }); Toolbar setup

    In builds that contain toolbars an optimal default configuration is defined for it. You may need a different toolbar arrangement, though, and this can be achieved through configuration.

    Each editor may have a different toolbar configuration scheme, so it is recommended to check its documentation. In any case, the following example may give you a general idea:

    ClassicEditor .create(document .querySelector("#editor" ), { toolbar : [ "bold" , "italic" , "link" ] }) .catch(error => { console .log(error); });

    The above is a strict UI-related configuration. Removing a toolbar item does not remove the feature from the editor internals. If your goal with the toolbar configuration is to remove features, the right solution is to also remove their respective plugins. Check above for more information.

    Listing available items

    You can use the following snippet to retrieve all toolbar items available in your editor:

    Array .from(editor.ui.componentFactory.names());

    В Drupal 7, как и в шестой версии нет встроенного визуального редактора.

    Руководство пользователя: как установить и настроить редактор ckeditor в друпал 7. Загрузка изображений с Elfinder.

    В друпал 7, как и в шестой версии, нам нужно установить редактор. Конечно, можно этого не делать и писать тексты, видя только код. Но мне нравятся визуальные редакторы. Напомню, что установку и настройку для друпал 6 мы изучили в уроке 2:

    Сегодня мы рассмотрим рабочую связку cms с редактором.
    drupal 7.17
    CKEditor - WYSIWYG HTML editor 7.x-1.11
    CKEditor 4.0
    elFinder file manager 7.x-0.7
    скрипт elFinder - elfinder-1.2

    Для друпал седьмой версии весь процесс установки и настройки гораздо проще. Не нужно ничего править в файлах, все действия доступны из админки (будем просто ставить галочки). Существующие актуальные версии модулей нам здорово облегчают жизнь.

    Как установить WYSIWYG редактор CKEditor на последнюю версию CMS Drupal 7.17

    CKEditor – это гибкий и удобный редактор. Его интерфейс напоминает ворд.
    Сначала устанавливаем скрипт редактора, потом сам модуль. Именно модуль подключит его к сайту.
    Примечание.
    Я указываю конкретные версии на момент написания статьи.

    1. Скачать модуль ]]> https://drupal.org/project/ckeditor ]]>
    Архив распакуйте в папку site/all/modules . Весь путь выглядит так: site/all/modules/ckeditor

    2. Скачать редактор CKEditor 4.0 ]]> https://ckeditor.com/download ]]>
    Для файлов редактора нужно создать папку libraries в site/all/
    Путь распаковки архива будет таким: site/all/libraries/ckeditor

    На странице модулей включаем, а затем настраиваем.
    Идем «Конфигурация - CKEditor - Глобальный профиль CKEditor – Изменить». Здесь нужно проверить запись в поле «Путь к CKEditor» - должно быть %l/ckeditor . Эта запись показывает, что редактор находится в папке libraries .

    Все. Вы установили CKEditor и он должен работать. Для проверки попробуйте открыть страницу создания нового материала. Теперь вместо одного большого поля для ввода вы увидите привычный визуальный редактор.

    Если редактор не отображается:
    Проверьте правильность выбранных релизов модулей для вашей версии друпал. Попробуйте поменять на другой релиз.

    Настройка профилей редактора CKEditor

    1 шаг. Настройка профиля Advanced в редакторе CKEditor.
    Advanced (расширенный, с загрузкой изображений и т. д.)
    Идем «Управление > конфигурация > ckeditor - admin/config/content/ckeditor
    Настроим профиль Advanced, кликаем ссылку «изменить» напротив профиля Advanced.
    Внешний вид редактора (Editor appearance):
    Выбираем колор.

    Перетаскиваем нужные кнопочки.

    Язык выбираем русский.

    File browser settings
    Выбираем по своему вкусу файловый менеджер, ниже по тексту есть установка и настройка файлового менеджера для друпал 7 – Elfinder.

    2 шаг. Настройка профиля Full в редакторе ckeditor
    Идем «Управление - конфигурация – ckeditor» - admin/config/content/ckeditor
    Оставить настройки можно по умолчанию, выбрать русский язык.

    Самый простой вариант использовать Full (полный) и Advanced (расширенный) - для зарегистрированных, также ваши вариации. Создать для анонимных пользователей профиль Plain, где отметить автоматическое изменение html текста в простой формат.

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

    Какие проблемы встречаются при работе с редактором CKeditor показывает не все кнопки

    Для этого проверьте, какую версию вы скачали на странице https://ckeditor.com/download

    • В пакете Basic Package - кнопок мало.
    • Standard Package - их больше.
    • Полный набор в пакете Full Package - скачивайте его, если хотите задействовать максимум.
    Установка и настройка файлового менеджера Elfinder для Drupal 7

    Связка из редактора и файлового менеджера сделают вашу работу наиболее приятной. Вы сможете в любое место вставить изображение с сервера или с компьютера. Присвоить ему нужные атрибуты, альтернативное описание. К сожалению и его нужно устанавливать.
    Файловый менеджер CKEditor загрузит не только картинки, но и другие файлы.
    Как и с редактором, нужно скачать модуль и скрипт.

  • Скачать модуль ]]> https://drupal.org/project/elfinder ]]>
  • Распаковать архив и поместить файлы в папку site/all/modules/elfinder

  • Скачать скрипт ]]> ]]>
  • Из последних версий подошло elfinder-1.2.
    Затем распакуем архив и поместим файлы в папку site/all/libraries/elfinder
    Здесь есть небольшая особенность, папку нужно назвать elfinder.

  • Настраиваем. Для этого идем admin/config/elfinder – «конфигурация – модули – elFinder – настроить».
  • В «Root directory» оставляем выбор за «Use system defaults» - по умолчанию в друпал.

    Установки по умолчанию admin/config/media/file-system:

    На страничке «Содержимое» - admin/content, вы увидите новую вкладку «Файлы». Теперь достаточно по ней кликнуть и вы увидите интерфейс файлового менеджера.

    И последний шаг – это объединение редактора с файловым менеджером в один функциональный инструмент.
    Выше я уже описала настройку профилей редактора.

    Повторюсь:
    Выбираем в File browser type - elFinder . При желании здесь же можно поменять папку для загрузки файлов.

    Теперь все должно работать, а я никак не пойму, почему этого нет в ядре друпал? Вместо этого несколько вариантов редакторов на любой вкус. Что слишком хорошо. ;)

    Новая рабочая связка

    drupal 7.21
    CKEditor - WYSIWYG HTML editor 7.x 1.13
    CKEditor - ckeditor_4.1_standard
    elFinder file manager 7.x-0.8
    скрипт elFinder - elfinder-1.2

    Появляется глюк с добавлением новых пустот () при каждом редактировании.

    Выявлено, что глюк появляется при вставке тизера друпал. Если в статье не отделять анонс, то глюка нет.

    Причина в том, что по умолчанию размер анонса уже настроен в типе материала. Получается двойное использование отделения анонса : ручное и автоматическое.

    Путь к настройке показа анонса:

    Главная » Администрирование » Structure » Типы содержимого » Article » Управлять отображением

    Совет. Следует при настройке внешнего вида визуального редактора убрать кнопочку тизер-друпал в обоих профилях.

    Статьи для изучения drupal:

    Общие понятия для новичков.

    Как русифицировать друпал и модули к нему.

    Подборка блоговых модулей.

    Краткое руководство.

    CKEditor это готовый для использования текстовый рекдактор HTML, созданный для упрощения создания содержания веб страниц. Это WYSIWYG редактор который предоставляет функции редактирования текста непосредственно вашим веб страницам.

    CKEditor это приложение с открытым исходным кодом, то есть оно может быть измнено по вашему желанию. Его полезность приходит от активного общества, которое не прекращает развитие приложений с бесплатными add-ons и прозрачным процессом развития (transparent development process).

    3- Download CKEditor

    У вас есть 4 варианта скачивания CKEditor .

    Результат скачивания:

    Можете посмотреть примеры CKEditor в папке samples :

    4- Базовые примеры:

    Все примеры данной статьи содержатся в папке samples в CKEditor который вы скачали. Но я попытаюсь сделать это легче чтобы вам далось легче.

    Создать папку myexamples , примеры данной статьи будут находиться в этой папке.

    4.1- Заменить элементы Textarea используя JavaScript

    Простой пример использование CKEditor.replace(..) чтобы заменить через CKEditor .

    replacebycode.html

    Replace Textarea by Code Replace Textarea Elements Using JavaScript Code

    Hello CKEditor

    CKEDITOR.replace("editor1");

    Смотрите пример:

    Результаты запуска примера:

    4.2- Заменить элементы textarea классом name

    С имеющие атрибут name, и class ="ckeditor" будет автоматически заменен CKEditor-ом .

    Text

    replacebyclass.html

    Replace Textareas by Class Name Replace Textarea Elements by Class Name

    Hello CKEditor

    Запуск примера:

    4.3- Создать CKEditor с jQuery

    Пример создания CKEditor используя JQuery .

    jQuery Adapter — CKEditor Sample $(document).ready(function() { $("#editor1").ckeditor(); }); function setValue() { $("#editor1").val($("input#val").val()); } Create Editors with jQuery

    Hello CKEditor