Изменение шаблона при авторизации
Авторизация через Login. При авторизации нужно изменить шаблоны всех ресурсов на другой. Пишу такую вот такой плагин по событию OnLoadWebDocument:
if($modx->getLoginUserID()) {
$resource = $modx->resource
$resource->set('template', 3);
$resource->save();
return $resource;
}Естественно, ничего не получается. В программировании новичок. Прошу помощи. Заранее спасибо
Техническая поддержка MODX
Сайт лежит, тормозит или остался без разработчика?
Переезд с MODX 2 на 3, PHP 7 на 8, скорость и безопасность. Поддержка со сроками и ответственностью, а не совет в чате.
Подробнее
Реклама
Комментарии: 3
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Но после logout подменный шаблон остается. Куда записывать первоначальный шаблон, чтобы потом его вернуть?
Во-первых, не нужно менять шаблон. Сейчас ты меняешь шаблон ресурса навсегда — то есть, при авторизации одного юзера другой шаблон увидят все.
Во-вторых, при смене шаблона нужно сбросить кэш сайта, иначе изменений не будет видно — а это довольно медленная операция.
Ну и в третьих, шаблоны нужно разделять на чанки — и вот их уже можно менять в зависимости от авторизации юзера.
А решение как всегда лежит на поверхности. Ещё раз спасибо.