HooLIGUN Posted November 2, 2016 Share Posted November 2, 2016 (edited) Здравствуйте.Подскажите, как вытянуть информацию о пользователе из базы?Интересуют дополнительные поля (core_pfields_content), и вся информация из таблицы core_membersНеобходимо вывести информацию из этих таблиц в профиль или еще какие либо другие шаблоны Примерно аналогичный вопрос я уже задавал по версии 3.4 http://ipbskins.ru/forum/topic14321.html И еще: на 3.4 у меня есть вот такой код, который служит некой шпаргалкой, выводит все переменные пользователя.Есть что нибудь подобное на 4ке? <? require_once( 'initdata.php' ); require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' ); require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' ); $registry = ipsRegistry::instance(); $registry->init(); $member = $registry->member()->fetchMemberData(); echo "<pre>".print_r($member, 1)."</pre>"; ?> Edited November 2, 2016 by HooLIGUN Link to comment Share on other sites More sharing options...
siv1987 Posted November 2, 2016 Share Posted November 2, 2016 Данные пользователя текущей сессии или произвольного пользователя?\IPS\Member::loggedIn() для текущего\IPS\Member::load( id ) для произвольного Напишите что вы хотите сделать, может быть эти данные уже там есть просто вы не знаете как ими пользоваться. Есть что нибудь подобное на 4ке?http://ipbskins.ru/forum/topic14284.html Link to comment Share on other sites More sharing options...
HooLIGUN Posted November 2, 2016 Author Share Posted November 2, 2016 (edited) Данные пользователя текущей сессии или произвольного пользователя?\IPS\Member::loggedIn() для текущего\IPS\Member::load( id ) для произвольного Напишите что вы хотите сделать, может быть эти данные уже там есть просто вы не знаете как ими пользоваться. Не совсем понял, как использовать данные переменные, можно пример?Например мне нужно получить доп.поле#13 и уже оперировать им в шаблоне.Вот например, в 3.4 я получал доп.поле#13 и выводил его в переменную и далее использовал в коде как мне нужно<if test="$member['field_13']"> <php> if (!empty($member['field_13'])) { $steamid="{$member['field_13']}"; // Получаем ID $files = IPS_ROOT_PATH . '../scripts/steam_in_profile'; include ($files.'/files/steam.php');} </php> {$steam} </if> Данные получить конкретного пользователя (на страничке которого буду находится) <?php require_once 'init.php'; \IPS\Dispatcher\Front::i(); $member = \IPS\Member::loggedIn(); var_dump( $member ); ?> Не срабатывает. Если создать новый php файл в корне, то при его открытии пишет, что такой страницы нет. А если добавить этот код в блок, то просто ничего не отображается. Edited November 2, 2016 by HooLIGUN Link to comment Share on other sites More sharing options...
siv1987 Posted November 2, 2016 Share Posted November 2, 2016 Данные получить конкретного пользователя (на страничке которого буду находится)На странице конкретного пользователя его данные уже загружены. Конкретнее пишите что и где вам нужно. Link to comment Share on other sites More sharing options...
HooLIGUN Posted November 2, 2016 Author Share Posted November 2, 2016 На странице конкретного пользователя его данные уже загружены. Конкретнее пишите где и что вам нужно.Интересуют дополнительные поля (core_pfields_content), и вся информация из таблицы core_membersНеобходимо вывести информацию из этих таблиц в профиль или еще какие либо другие шаблоныМне нужно вывести информацию из доп поля в переменную, чтобы её дальше можно было использовать отдельно.Например, field_13 , пользователи указывают свои айди в статистике.Мне нужно получить эти айди, и дальше использовать его в шаблоне, например сделать запрос в другую базу ,используя этот айди. Вот более точный пример, www.rgmix.eu/player/1/ , пользователь указывает просто Steam ID STEAM_0:1:XXXXXX , а дальше всё генерируется кодом в шаблоне.Это я и хочу перенести в 4ку Link to comment Share on other sites More sharing options...
siv1987 Posted November 2, 2016 Share Posted November 2, 2016 $member->profileFields() - массив raw значений дополнительных полей (не кешируется, для каждого вызова выполняется отдельный запрос)$member->contentProfileFields - массив отформатированные данные для вывода Link to comment Share on other sites More sharing options...
HooLIGUN Posted November 2, 2016 Author Share Posted November 2, 2016 $member->profileFields() - массив raw значений дополнительных полей (не кешируется, для каждого вызова выполняется отдельный запрос)$member->contentProfileFields - массив отформатированные данные для выводаНе подскажите пример использования в коде шаблона? Link to comment Share on other sites More sharing options...
siv1987 Posted November 3, 2016 Share Posted November 3, 2016 Пример использования сильно зависит от того, в каком шаблоне и какие данные там есть. Link to comment Share on other sites More sharing options...
HooLIGUN Posted November 3, 2016 Author Share Posted November 3, 2016 Пример использования сильно зависит от того, в каком шаблоне и какие данные там есть.в profile Link to comment Share on other sites More sharing options...
siv1987 Posted November 3, 2016 Share Posted November 3, 2016 В профиле пользователя? Шаблон укажите. Link to comment Share on other sites More sharing options...
HooLIGUN Posted November 3, 2016 Author Share Posted November 3, 2016 В профиле пользователя? Шаблон укажите.Я написал же , шаблон - core/front/profile/profile.phtmlЯ только недавно установил 4ку, еще не особо не знаю, какой шаблон за что отвечает.Нужно получить и обработать переменную ниже самого доп.поля Link to comment Share on other sites More sharing options...
siv1987 Posted November 3, 2016 Share Posted November 3, 2016 Я написал жеprofile на форуме не один. Мало ли что вы под ним подразумеваете. Трать понапрасну свое время из-за недопонимания не очень хочется. шаблон - core/front/profile/profile.phtmlВ этом шаблоне есть переменная $sidebarFields которая содержит значения полей пользователя. Формат: $sidebarFields['core_pfieldgroups_ид-группы']['core_pfield_ид-поле']ид-группы - ид группы в котором находится дополнительное поле. У Personal Information это 1. Тоже самое с вызовом $member->profileFields$member->profileFields()['core_pfieldgroups_ид-группы']['core_pfield_ид-поле']; Только profileFields не кешируется, предварительно нужно записать данные в переменную$profileFields = $member->profileFields();$profileFields['core_pfieldgroups_ид-группы']['core_pfield_ид-поле']; 1 Link to comment Share on other sites More sharing options...
VIP Posted June 26, 2018 Share Posted June 26, 2018 Как для определённого пользователя вывести дополнительное поле. Хотел сделать что то типа вверху аватар{template="userPhoto" group="global" app="core" params="\IPS\Member::load( 2222 )"}Чуть ниже 2 поля из контактов вк и скайп этого же пользователя. Но я хочу просто кодом в блок на главной форума. Link to comment Share on other sites More sharing options...
newbie Posted June 26, 2018 Share Posted June 26, 2018 Как для определённого пользователя вывести дополнительное поле. Все же дано выше$profileFields = $member->profileFields(); $profileFields['core_pfieldgroups_ид-группы']['core_pfield_ид-поле']; Хотел сделать что то типа вверху аватар{{$member = \IPS\Member::load( 2222 ); $profileFields = $member->profileFields();}} {template="userPhoto" group="global" app="core" params="$member"} {$profileFields['core_pfieldgroups_ид-группы']['core_pfield_ид-поле']} {$profileFields['core_pfieldgroups_ид-группы']['core_pfield_ид-поле']} 1 Link to comment Share on other sites More sharing options...
VIP Posted June 26, 2018 Share Posted June 26, 2018 Спасибо, как всегда всё разжувал. А то я чёт совсем запутался, сразу не до понял. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now