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

Rating based on reviews:
Total stars received: 0
Total reviews: 0
Average rating: 0
Filed under: User Blog
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']
];
Если что нужно пишите в чат 🥱


Reviews

No reviews yet


Comments (0)

No comments yet
Only registered users can post new comments

Similar pages

Разный визуальный редактор для админа и пользователя
1 CKEditor - Визуальный (WYSIWYG) редактор HTML-контента. Минимальный, обычный и расширенный визуальный редактор -
User Blog • 2024-01-05 04:17 webitproff
Модуль «Polls» - Размещение и управление опросами на сайте и форуме
2 Модуль «Polls» - Размещение и управление опросами на сайте и форуме [Документация по модулю «Polls» и расширениям,
User Blog • 2020-07-17 05:15 webitproff
Создать баннер cookies для получения согласия пользователя
3 Как Создать баннер cookies для получения согласия пользователя? Как разместить всплывающее окно согласия на обработку
User Blog • 2020-07-17 05:15 webitproff
Экстраполя для профиля пользователя
4 Очень часто при работе с сайтом на Cotonti возникает задача создания дополнительных полей для заполнения пользователями
User Blog • 2020-07-17 05:15 webitproff
UserWall - Стена записей в профиле пользователя
5 Плагин позволяет пользователям публиковать записи на странице своего профиля, другие пользователи имеют возможность
User Blog • 2020-07-17 05:15 webitproff

Content author

webitproff

Offline

Sodium Carbonate

Last logged: 2026-07-19 01:57

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

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

  • Разработки на GitHub бесплатно
    • Page published: 2020-07-17 05:15
    • Last update: 2026-02-27 10:11