Подключаем свои стили или скрипты в админке MODX Revo

Бывет, что в админке MODX Revolution нужно поменять какие-то стили, например, скрыть какое-то поле для определенного менеджера. Или создать зависимые TV, например, при установке определенного значения в одном TV - отображать/скрывать другое поле TV. В общем, бывает нужно изменить DOM менеджера MODX.

Конечно, можно создать отдельный шаблон, в случае со скрытием TV или многие задачи можно решить через настройку форм. Но это не всегда целесообразно, да и настройка форм в MODX довольно трудоемкий процесс.

Тут нам и поможет плагин с событием для админки.

Навигация по статье:


Плагин скрытия TV в админке

Например, плагин ниже позволит скрыть TV-поле с ID = 30.
Назовем плагин, например, "tv30Hide" и вешаем на событие "OnManagerPageInit", приоритет у события ставим "0".

<?php
switch ($modx->event->name) {
case 'OnManagerPageInit':
$modx->regClientStartupHTMLBlock(
"<style>
#tv30-tr {display: none;}
</style>
"
);
default:
return;
}

Функция regClientStartupHTMLBlock и позволяет нам внедрить свой HTML-код (в данном случае <style></style>) на страницу админки.

Прочие полезные функции:

  • modX::regClientStartupHTMLBlock - добавляет HTML-код на страницу админки, подключая его перед закрывающимся head.
  • modX::regClientHTMLBlock - добавляет HTML-код на страницу админки, подключая его перед закрывающимся body.
  • modX::regClientCSS - функция регистрирует css-файл, подключая его в head админки.
  • modX::regClientStartupScript - функция регистрирует js-файл на страницу админки, подключая его перед закрывающимся head.
  • modX::regClientScript - функция регистрирует js-файл на страницу админки, подключая его перед закрывающимся body.



Комментарии к посту