Вот это я и имею ввиду, когда говорю не использовать - странно. Такого в программировании не должно быть. Работать (или не работать) должно стабильно. Сегодня у вас работает, а завтра у вас не работает. Объяснение конечно можно найти почему оно не работает, но только зачем себе все усложнять?

Да. Но здесь есть два НО, больших и жирных:

  1. Метод modUser::isMember() (а точнее modUser::getUserGroupNames(), вызываемый в modUser::isMember()), получает группы пользователей из сессии пользователя. Это чревато тем, что если пользователь уже был авторизован, а вы ему меняете группу пользователя, изменения возникнут только после уничтожения его сессии.
  2. Метод modUser::isMember() не принимает id группы пользователей, что повлечет за собой понятные последствия в случае переименовывания группы пользователей. Но в целом можно пользоваться. И да - этот метод так же не имеет никакого отношения к primary_group :)

А вообще странно... Раньше работало как надо, поэтому и стал его использовать. Но с какого момента перестало работать не могу выяснить, поэтому и трудно выявить причину...

Вот так можно использовать как замену primary_group? $id = $_GET[id];

$res = $modx->getObject('modUser',$id);

if ($res->isMember('Новичок')) {

$output = $modx->getChunk('user_novichok');

} Ну это на скорую руку, лишь бы работало...

Вот немного поковырял когда же и где устанавливается primary_group. Так вот, в user/create-процессоре этот параметр вообще не устанавливается, его просто нет. Устанавливается он только в user/update-процессоре, только если были переданы группы пользователя. А главное - выбирается только та группа, у которой ранк = 0. И вот начига оно надо? Это рандом. А главное - вообще не видел, чтобы где-то в системе политик безопасности MODX-а это где-то использователось. В общем, если хочется головняка, то юзайте.

Таким кодом я получал primary_group и в зависимости от него выводил разные чанки. А вот не надо плясать от primary_group. primary_group в MODX-е - эот от Ктулху. И использовать это не надо вообще. И вообще чанки брать в зависимости от группы - не по религии это. Запомните: если вы что-то хотите разделить, то права или есть на что-то, или их нет. Юзайте $modx->hasPermission($perm) - и будете на правильном пути.

У вас NetworkError: 500 Internal Server Error - http://www.swisskarma.ru/assets/components/modcaptcha/captcha.php?0.05194461134096928 Читайте php-логи, что там написано. Явно вопрос в сервере, а не в модуле.

Вот гит-проект: https://github.com/Fi1osof/modxSDK Ставьте на MODX-2.3.1, пробуйте фиксить. Если пофиксите, шлите пуллреквест.

как сменить или вообще убрать?