UserInfo

Опубликовано: 14 Июл 2015

Сам сниппет UserInfo.

<?php
$id=(isset($id) && (int)$id>0)?(int)$id:$modx->getLoginUserID(($mode=='mgr'?'mgr':'web'));
if($id>0){
        if(isset($info) && $info!='internalKey'){
                $data=($mode=='mgr')?$modx->getUserInfo($id):$modx->getWebUserInfo($id);
                if(isset($data[$info])) return $data[$info];
        }else{
                return $id;
        }
}
return '';
?>

Дело в том, что пользователи в MODX Evolution раскиданы по разным таблицам. Допустим у нас контент-менеджер разместил какую-то статью из админки. Как вывести имя полное имя этого менджера? Вставляем в шаблоне вызов

[ [UserInfo? &info=`fullname` &id=`[*createdby*]` &mode=`mgr`]]

info — имя поля, значение которого хотим получить. Если ничего не указывать, то вернется id пользователя.
id — пользователь данные которого нам нужны.
mode — по сути это те же контексты, как и в modx revolution. У менеджеров это mgr, а у веб-пользователей web. Если параметр mode не указывать, то сниппет попытается вернуть инфомрацию о веб-пользователе.
Если же вообще вызвать сниппет без параметров, то вернется id пользователя, который сейчас авторизован.

Комментарии (0)


Оставить комментарий




Разрешённые теги: <b><i><br>Добавить новый комментарий: