CKEditor - Визуальный (WYSIWYG) редактор HTML-контента.
Причин необходимости минимального визуального редактора для пользователя может быть масса, среди которых, - это низкая комфортность при написании новости или поста на форуме с телефона, - загромождается экран смартфона. Также минимальный набор инструментов может быть связан с размещением нежелательного контента в постах на форумах или в комментариях к статьям. Сразу стоить взять во внимание, что при обновлении модуля или движка, - эту процедуру придется повторить. В качестве примера возьмем модуль форумов и модифицируем его.
modules/forums/forums.setup.php
примерно в 35-й строке находим ""minimaxieditor=33.....ditor:"" сразу после неё добавляем строку:
editornoadmin=34:select:minieditor,medieditor,editor:medieditor:
сохраняемся.
modules/forums/inc/forums.functions.php
топим в самый конец файла, в район 547-й строки и сразу после всего добавляем код
$editornoadmin = null; if (Cot::$cfg['forums']['markup'] == 1) { $editornoadmin = Cot::$cfg['forums']['editornoadmin']; } сохраням файл.
modules/forums/inc/forums.newtopic.php
находим в районе 163-й строки код
$t = new XTemplate($mskin);
и сразу за ним добавляем пару условий выбора визуального редактора в зависимости от того, является пользователь администратором или же таким не является
$kindeditor = null; if (Cot::$usr['isadmin']) { $kindeditor = Cot::$cfg['forums']['minimaxieditor']; } if (!Cot::$usr['isadmin']) { $kindeditor = Cot::$cfg['forums']['editornoadmin']; } Теперь в строке, которая будет ниже
'FORUMS_NEWTOPIC_TEXT' => cot_textarea('rmsgtext', $rmsg['fp_text'], 20, 56, '', 'input_textarea_'.$minimaxieditor), $minimaxieditor меняем на $kindeditor Это будет нужно сделать везде, где при формировании тега текстового поля задаем редактор в зависимости от того пользователь админ или нет. идем в панель управления сайтом, в разделе расширений находим наш модуль форумов, заходим в него и сразу жмем кнопку ""Обновить"". Затем, здесь же на этой странице, жмем кнопку ""Конфигурация"", скролим настройки модуля до ""Выбор конфигурации визуального редактора"" и селектом выбираем ""расширенный набор кнопок"", а сразу строкой ниже будет ""editornoadmin:"" - напротив неё также селектом выбираем, но на этот раз например ""minieditor"". Модификация готова. Авторизуемся на сайте с двух разных браузеров, - на одном как админ, а на втором как обычный пользователь, заходим на форум, жмем кнопку ""Новая тема"" и вот магия, которая иногда просто кусочек кода ? Но это не все. Теперь нужно добавить модификацию для редактирования постов.
$t = new XTemplate($mskin);
и сразу за ним добавляем
$kindeditor = null; if (Cot::$usr['isadmin']) { $kindeditor = Cot::$cfg['forums']['minimaxieditor']; } if (!Cot::$usr['isadmin']) { $kindeditor = Cot::$cfg['forums']['editornoadmin']; } находим тег текстового поля ""FORUMS_EDITPOST_TEXT"" и меняем $minimaxieditor меняем на $kindeditor сохраняемся.
require_once cot_incfile('forms'); и сразу за неё добавляем
$kindeditor = null; if (Cot::$usr['isadmin']) { $kindeditor = Cot::$cfg['forums']['minimaxieditor']; } if (!Cot::$usr['isadmin']) { $kindeditor = Cot::$cfg['forums']['editornoadmin']; } находим в пятой сотне строк, тег текстового поля ""FORUMS_POSTS_NEWPOST_TEXT"" и меняем $minimaxieditor меняем на $kindeditor сохраняемся. всё ???. Кстати, отредактировать наборы кнопок, например для админа в расширенном наборе или для пользователя в минимальном можно в файле config.js, который лежит на сайте по адресу
plugins/ckeditor/lib/config.js
Минимальный набор кнопок - это ""toolbar_Basic"" (начало примерно в 43 строке) Обычным пользователям у меня конфигурация имеет следующий вид
config.toolbar_Basic = [ ['Bold', 'Smiley', '-','EmojiPanel', '-', 'Image', 'oembed', '-', 'Link', 'Unlink'] ];
Если что нужно пишите в чат ?
Оффлайн
Последняя авторизация: 25.03.2025 08:09
CleanCot © Вторник, 20 октября 2026 11:22
Версия PHP: 8.4.6
Страница создана за 0.05348 секунды
Режим совместимости: legacyMode Выключен
Версия ядра: v.0.9.26 beta / Версия БД: v.0.9.26