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

Небольшая инструкция как при создании статей и постов вывести разные наборы кнопок визуального редактора контента для администратора и простого пользователя. CKEditor - Визуальный (WYSIWYG) редактор HTML-контента

Рейтинг на основе отзывов:
Звезд получено: 0
Oтзывов всего: 0
Средняя оценка: 0
Опубликовано в: Блог пользователей

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)

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

Похожие страницы

Визуальный редактор для админа и пользователя на форуме
1 CKEditor - Визуальный (WYSIWYG) редактор HTML-контента. Минимальный, обычный и расширенный визуальный редактор -
Создать баннер cookies для получения согласия пользователя
2 Как Создать баннер cookies для получения согласия пользователя? Как разместить всплывающее окно согласия на обработку
Экстраполя для профиля пользователя
3 Очень часто при работе с сайтом на Cotonti возникает задача создания дополнительных полей для заполнения пользователями
UserWall - Стена записей в профиле пользователя
4 Плагин позволяет пользователям публиковать записи на странице своего профиля, другие пользователи имеют возможность
Open Server 6.5.0 - Первый запуск. Руководство пользователя.
5 СодержаниеУстановка Open Server Panel 6.5.0. Руководство пользователя 2026 – Первый запуск на PHP 8.5Краткое знакомство

Автор контента

webitproff

Онлайн

Carbonate Sodium

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

  • Чем могу помочь?

    Оказываю весь спектр услуг по CMF Cotonti. Разработка открытых и закрытых корпоративных интернет порталов, небольших социальных сетей, торговые площадки, маркетплейсы, биржи фриланса, каталоги товаров оптовых поставщиков, интернет-магазин под заказ, чтобы делать совместные покупки и групповые совместные продажи от имени нескольких продавцов.

  • Разработки на GitHub бесплатно
    • Страница размещена: 05.01.2024 04:17
    • Последнее обновление: 05.01.2024 04:31