Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Вытянуть информацию из БД

Опубликовано:

Здравствуйте.

Подскажите, как вытянуть информацию о пользователе из базы?

Интересуют дополнительные поля (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>";
?>

Изменено пользователем HooLIGUN

Рекомендованные сообщения

Опубликовано:

Данные пользователя текущей сессии или произвольного пользователя?

\IPS\Member::loggedIn() для текущего

\IPS\Member::load( id ) для произвольного

 

Напишите что вы хотите сделать, может быть эти данные уже там есть просто вы не знаете как ими пользоваться.

 

Есть что нибудь подобное на 4ке?

http://ipbskins.ru/forum/topic14284.html

Опубликовано:
  • Автор

Данные пользователя текущей сессии или произвольного пользователя?

\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 файл в корне, то при его открытии пишет, что такой страницы нет. А если добавить этот код в блок, то просто ничего не отображается.

Изменено пользователем HooLIGUN

Опубликовано:

Данные получить конкретного пользователя (на страничке которого буду находится)

На странице конкретного пользователя его данные уже загружены. Конкретнее пишите что и где вам нужно.

Опубликовано:
  • Автор

На странице конкретного пользователя его данные уже загружены. Конкретнее пишите где и что вам нужно.

Интересуют дополнительные поля (core_pfields_content), и вся информация из таблицы core_members

Необходимо вывести информацию из этих таблиц в профиль или еще какие либо другие шаблоны

Мне нужно вывести информацию из доп поля в переменную, чтобы её дальше можно было использовать отдельно.

Например, field_13 , пользователи указывают свои айди в статистике.

Мне нужно получить эти айди, и дальше использовать его в шаблоне, например сделать запрос в другую базу ,используя этот айди.

 

Вот более точный пример, www.rgmix.eu/player/1/ , пользователь указывает просто Steam ID STEAM_0:1:XXXXXX , а дальше всё генерируется кодом в шаблоне.

Это я и хочу перенести в 4ку

Опубликовано:

$member->profileFields() - массив raw значений дополнительных полей (не кешируется, для каждого вызова выполняется отдельный запрос)

$member->contentProfileFields - массив отформатированные данные для вывода

Опубликовано:
  • Автор

$member->profileFields() - массив raw значений дополнительных полей (не кешируется, для каждого вызова выполняется отдельный запрос)

$member->contentProfileFields - массив отформатированные данные для вывода

Не подскажите пример использования в коде шаблона?

Опубликовано:

Пример использования сильно зависит от того, в каком шаблоне и какие данные там есть.

Опубликовано:
  • Автор

Пример использования сильно зависит от того, в каком шаблоне и какие данные там есть.

в profile

Опубликовано:

В профиле пользователя? Шаблон укажите.

Опубликовано:
  • Автор

В профиле пользователя? Шаблон укажите.

Я написал же , шаблон - core/front/profile/profile.phtml

Я только недавно установил 4ку, еще не особо не знаю, какой шаблон за что отвечает.

Нужно получить и обработать переменную ниже самого доп.поля

post-48258-0-48075000-1478179710_thumb.png

Опубликовано:

Я написал же

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 год спустя...
Опубликовано:

Как для определённого пользователя вывести дополнительное поле.

Хотел сделать что то типа вверху аватар

{template="userPhoto" group="global" app="core" params="\IPS\Member::load( 2222 )"}

Чуть ниже 2 поля из контактов вк и скайп этого же пользователя. Но я хочу просто кодом в блок на главной форума.

Опубликовано:
Как для определённого пользователя вывести дополнительное поле.

Все же дано выше

$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_ид-поле']}

Опубликовано:

Спасибо, как всегда всё разжувал. А то я чёт совсем запутался, сразу не до понял.

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.