Страницы

Разный визуальный редактор для админа и пользователя

Разный визуальный редактор для админа и пользователя
3 мин чтения
Теги: Нет тегов

CKEditor - Визуальный (WYSIWYG) редактор HTML-контента.

Минимальный, обычный и расширенный визуальный редактор - настроим отдельно для пользователя, в зависимости в какую группу он входит на сайте ""кота"". Небольшая инструкция как при создании статей и постов вывести разные наборы кнопок визуального редактора контента для администратора и простого пользователя.

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

1. Открываем файл конфигурации forums.setup.php по адресу

 modules/forums/forums.setup.php

примерно в 35-й строке находим ""minimaxieditor=33.....ditor:"" сразу после неё добавляем строку:

 editornoadmin=34:select:minieditor,medieditor,editor:medieditor:

сохраняемся.

2. открываем файл forums.functions.php по адресу

 modules/forums/inc/forums.functions.php

топим в самый конец файла, в район 547-й строки и сразу после всего добавляем код

 $editornoadmin = null; if (Cot::$cfg['forums']['markup'] == 1) {   $editornoadmin = Cot::$cfg['forums']['editornoadmin']; }

сохраням файл.

3. Открываем сценарии создания новых постов, - файл forums.newtopic.php по адресу

 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"". Модификация готова. Авторизуемся на сайте с двух разных браузеров, - на одном как админ, а на втором как обычный пользователь, заходим на форум, жмем кнопку ""Новая тема"" и вот магия, которая иногда просто кусочек кода ? Но это не все. Теперь нужно добавить модификацию для редактирования постов.

4. В этой же папке открываем forums.editpost.php находим в районе 168-й строки код

 $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 сохраняемся.

5. Отрываем forums.posts.php сразу после строки

 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'] ];

Если что нужно пишите в чат ?

Комментарии (0)

Комментарии отсутствуют
Добавление комментариев доступно только зарегистрированным пользователям

Информация

webitproff

Оффлайн

webitproff

Последняя авторизация: 25.03.2025 08:09

  • Страница размещена: 16.03.2025 03:42
  • Последнее обновление: 16.03.2025 03:42

CleanCot © Вторник, 20 октября 2026 11:22


Версия PHP: 8.4.6
Страница создана за 0.05348 секунды

Режим совместимости: legacyMode Выключен

Версия ядра: v.0.9.26 beta / Версия БД: v.0.9.26