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

Рейтинг на основе отзывов:
Звезд получено: 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-контента. Минимальный, обычный и расширенный визуальный редактор -
Модуль «Polls» - Размещение и управление опросами на сайте и форуме
2 Модуль «Polls» - Размещение и управление опросами на сайте и форуме [Документация по модулю «Polls» и расширениям,
Создать баннер cookies для получения согласия пользователя
3 Как Создать баннер cookies для получения согласия пользователя? Как разместить всплывающее окно согласия на обработку
Экстраполя для профиля пользователя
4 Очень часто при работе с сайтом на Cotonti возникает задача создания дополнительных полей для заполнения пользователями
UserWall - Стена записей в профиле пользователя
5 Плагин позволяет пользователям публиковать записи на странице своего профиля, другие пользователи имеют возможность

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

webitproff

Оффлайн

Carbonate Sodium

Последняя авторизация: 18.07.2026 14:46

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

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

  • Разработки на GitHub бесплатно
    • Страница размещена: 17.07.2020 05:15
    • Последнее обновление: 27.02.2026 10:11