Задача — выводить 404 ошибку для ресурса, у которого должен быть установлен пареметр "published" = 1. Как быть? Надо искать способы иначе дать понять системе, что эту страницу нельзя показывать пользователю.
Создаем плагин (настраиваем на событие OnHandleRequest), и дальше уже играем как хотил. Хоть по ТВ-параметру блокируем страницу, хоть по любым другим причинам.
switch ($modx->event->name) {
case 'OnHandleRequest':
if ($modx->context->get('key') != 'mgr') {
if (!empty($_GET['q'])) {
$q = $_GET['q'];
if ($modx->getCount('modResource', array('uri' => $q, 'st_unpublished' => 1))) {
$user = $modx->getUser();
if($user->get('id') != 1){
$modx->sendErrorPage();
}
}
}
}
break;
}
Комментарии (0)
Не писать ответ