усвоил. не скажу что все прям понятно, родилось еще больше вопросов, но об этом потом… для себя была поставлена задача сделать табличку пользователей с помощью процессора процессор getusers.class.php require_once (dirname(dirname(dirname(dirname(dirname(dirname(FILE)))))).'/model/modx/processors/security/user/getlist.class.php');

class xtestGetUserListProcessor extends modUserGetListProcessor{ public function prepareQueryBeforeCount(xPDOQuery $c) { $c->leftJoin('modUserProfile','Profile'); $c->leftJoin('modUserGroupMember', 'UserGroupMembers'); $c->leftJoin('modUserGroup', 'UserGroup', 'UserGroupMembers.user_group = UserGroup.id'); return $c; }

public function prepareQueryAfterCount(xPDOQuery $c) {
    $c->select($this->modx->getSelectColumns('modUser','modUser'));
    $c->select($this->modx->getSelectColumns('modUserProfile','Profile','',array('fullname','email','blocked')));
    $c->select($this->modx->getSelectColumns('modUserGroup','UserGroup','',array('name')));
    return $c;
}

public function prepareRow(xPDOObject $object){
    return array(
        'id' => $object->id,
        'username' => $object->username,
        'fullname' => $object->fullname,
        'email' => $object->email,
        'group' => $object->name,
    );
}

} return 'xtestGetUserListProcessor'; ну и вот такой результат уже при написании поста возник вопрос а что если у пользователя 2 группы… отложил пост полез пробовать… если у пользователя 2 группы то покажет последнюю а если сделать вот так $c->select($this->modx->getSelectColumns('modUser','modUser', '', array('id', 'username'))); то в таблице будет 2 строки с разными группами… а еще есть такая штука как права… для выполнения вышеуказанного процессора пользователь должен иметь разрешения 'view_user'. нравится «зараза».