1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - новый и перспективный форумный движок от бывших создателей vBulletin.

Получить данные о пользователях в стороннем скрипте

Тема в разделе "Интеграция XenForo с различными движками", создана пользователем GrinJ, 14 июл 2013.

Загрузка
  1. GrinJ

    GrinJ Новичок

    Регистрация:
    30.06.13
    Сообщения:
    7
    Симпатии:
    0
    Версия XF:
    1.1.5
    Здравствуйте, возникла необходимость для самописного движка получить информацию о пользователях. Нашел такой код:
    PHP:
    $visitor XenForo_Visitor :: getInstance ();
    Но он выдает информацию только о том пользователе, что просматривает данную страницу. Возможно ли каким-нибудь похожим методом получить информацию о других юзерах?
     
  2. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1.921
    Симпатии:
    1.160
    Версия XF:
    1.0.4
    Конкретный метод будет зависеть от того какая именно информация пользователя нужна
    Самый простой случай - вытянуть из базы пользователя по его id
    PHP:
    $user XenForo_Model::create('XenForo_Model_User')->getUserById($userId);
    Конкретно описание для методов очень неплохо расписано в PHPDoc комментариях внутри этой модели.
    И не стоит забывать что XenForo_Model::create - это фабрика.

    Пример более полного извлечения данных:
    PHP:
    $fetchOptions = array( // какие дополнительные данные о пользователе надо извлекать
                    
    'join' => XenForo_Model_User::FETCH_USER_OPTION XenForo_Model_User::FETCH_USER_PROFILE
                
    );
    $userId 558//пример id пользователя
    $userModel XenForo_Model::create('XenForo_Model_User');
    $user $userModel->getUserById($userId);
    $user $userModel->prepareUser($user);
     
    GrinJ нравится это.
  3. GrinJ

    GrinJ Новичок

    Регистрация:
    30.06.13
    Сообщения:
    7
    Симпатии:
    0
    Версия XF:
    1.1.5
    Спасибо, а как можно получить информацию об аватаре?
     
  4. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1.921
    Симпатии:
    1.160
    Версия XF:
    1.0.4
    В принципе вся информация для аватара уже будет в полученных данных.
    Но если нужен готовый урл, то стоит посмотреть в сторону XenForo_Template_Helper_Core, там готовый набор методов для получения урл-а аватара.
    например:
    PHP:
    $size 'm'//может быть 'l', 'm' и 's'
    $avatarUrl XenForo_Template_Helper_Core::getAvatarUrl($user$size);
    Или можно использовать метод для готового блока html-а - XenForo_Template_Helper_Core::helperAvatarHtml
     
    Code и GrinJ нравится это.
  5. GrinJ

    GrinJ Новичок

    Регистрация:
    30.06.13
    Сообщения:
    7
    Симпатии:
    0
    Версия XF:
    1.1.5
    Спасибо большое. А где можно почитать документацию по всем этим методам?
    --- добавлено : 14 июл 2013 в 15:44 ---
    А есть ли метод, позволяющий обработать bb-коды текста в html?
     
  6. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1.921
    Симпатии:
    1.160
    Версия XF:
    1.0.4
    Все внутри кода в phpdoc комментариях
    отдельного метода нет. Вернее есть ббкод парсер, но результат его использования очень и очень зависит от многих факторов.
    Как вариант (будет простое преобразование ббкодов, т.к. нет view объекта в стороннем коде):
    PHP:
    $bbcodeText '[b]some text [u]with[/u] bbcodes[/b]';
    $bbCodeParser = new XenForo_BbCode_Parser(XenForo_BbCode_Formatter_Base::create('Base'));
    $htmlText = new XenForo_BbCode_TextWrapper($bbcodeText$bbCodeParser);
     
    slowpoke нравится это.

Поделиться этой страницей