OnManagerPageBeforeRender
Последнее обновление Apr 20th, 2021 | История страницы | Улучшить эту страницу | Сообщить о проблеме
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$306 per month—let's make that $500!
Learn moreСобытие: OnManagerPageBeforeRender¶
Запускается в контроллере менеджера, перед оформлением контента.
Служба: 2 - Manager Access Events Группа: System
Параметры события¶
Имя | Описание |
---|---|
controller | Экземпляр контроллера текущей страницы менеджера. |
Замечания¶
Предыдущее событие | OnBeforeManagerPageInit |
---|---|
Следующее событие | OnManagerPageAfterRender |
File | core/model/modx/modmanagercontroller.class.php |
Class | абстрактный класс modManagerController |
Method | public function render() |
Пример¶
Такой плагин выведет в "Журнал ошибок" какой контроллер запущен:
<?php
$eventName = $modx->event->name;
switch($eventName) {
case 'OnManagerPageBeforeRender':
// какой контроллер загружается
print_r($scriptProperties['controller']->config);
print_r($scriptProperties['controller']->scriptProperties);
break;
}
Такой плагин выведет на экран "Доступ запрещен" пользователям, у которых в системных настройках указаны id ресурсов в параметре allow_to_update
:
<?php
$eventName = $modx->event->name;
switch($eventName) {
case 'OnManagerPageBeforeRender':
switch($scriptProperties['controller']->config['controller']){
//Проверяем права на редактирование документов
case 'resource/update':
// Проверяем наличие настройки allow_to_update (задается в настройках пользователя)
// В ней мы перечисляем, какие документы пользователю можно редактировать
// Если настройка задана, но id документа отсутствует в перечисленных разрешенных,
// То возвращаем ошибку доступа
if($allow_to_update = $modx->getOption('allow_to_update')){
if(!is_array($allow_to_update)){
$allow_to_update = explode(",", $allow_to_update);
$allow_to_update = array_map('trim', $allow_to_update);
}
if(in_array($scriptProperties['controller']->scriptProperties['id'], $allow_to_update)){
$scriptProperties['controller']->failure('Доступ запрещен');
return;
}
}
break;
}
break;
}
Такой плагин подключит нужный нам js на страницы админки:
<?php
$eventName = $modx->event->name;
switch($eventName) {
case 'OnManagerPageBeforeRender':
$modx->controller->addJavascript('url/file.js');
break;
}
Смотри также¶
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$306 per month—let's make that $500!
Learn more