вторник, 1 февраля 2011 г.

Сниппет для получения данных залогиненого пользователя

Нужно было получать данные зарегистрированого и соотвественно залогиненого пользователя и вставлять данные в форму eForm. Вот собственно написал:


<?php
/*
* ParseUserInfo - сниппет для получения данных текущего веб-пользователя вошедшего в систему
* Принимает один обязательный параметр:
* name - поле которое нужно получить (подробнее в функции getWebUserInfo )
*/
$output = "";
$useridmassive = $modx->userLoggedIn();
$userid = $useridmassive["id"]; // Получаем ИД-пользователя
$userinfo = $modx->getWebUserInfo($userid); //Используем Ид для получения массива с данными
if ($name != "") {$output = $userinfo["$name"]; } // Выводим нужное
return $output;
?>



Удачи =)


Мой основной сайт: oros.kiev.ua

1 комментарий:

  1. Мое решение:

    /*
    Получение информации пользователя по ID
    Вызываем сниппет в месте где необходимо извлечь инфу о пользователе с указанием его ID
    [[getUserInfo?&id=`1`]]
    Дальше извлекаем инфу через плейсхолдеры
    [+username+]
    [+password+]
    [+id+]
    [+internalKey+]
    [+fullname+]
    [+role+]
    [+email+]
    [+phone+]
    [+mobilephone+]
    [+blocked+]
    [+blockeduntil+]
    [+blockedafter+]
    [+logincount+]
    [+lastlogin+]
    [+thislogin+]
    [+failedlogincount+]
    [+sessionid+]
    [+dob+]
    [+gender+]
    [+country+]
    [+street+]
    [+city+]
    [+state+]
    [+zip+]
    [+fax+]
    [+photo+]
    [+comment+]
    [+usertype+]
    */
    $id = (isset($id))? $id : '';
    if (!empty($id)){
    $arrUserInfo = $modx->getWebUserInfo($id);
    if (is_array($arrUserInfo)){
    foreach($arrUserInfo as $index => $val)
    {
    $modx->setPlaceholder($index, $val);
    }
    }
    }else{
    return;
    }

    ОтветитьУдалить