Вытянуть информацию из БД - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

СвернутьПрикрепленные теги

api

Страница 1 из 1

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

#1 Пользователь не на сайте   HooLIGUN ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 58
  • Регистрация: 04-Декабрь 11
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 03 Ноябрь 2016 - 00:24

Здравствуйте.
Подскажите, как вытянуть информацию о пользователе из базы?
Интересуют дополнительные поля (core_pfields_content), и вся информация из таблицы core_members
Необходимо вывести информацию из этих таблиц в профиль или еще какие либо другие шаблоны

Примерно аналогичный вопрос я уже задавал по версии 3.4 http://ipbskins.ru/f...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 (03 Ноябрь 2016 - 00:25)

0

#2 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 735
  • Регистрация: 20-Март 09
  • Репутация: 2 273
  • IPB version:3.1.x
 

Отправлено 03 Ноябрь 2016 - 00:36

Данные пользователя текущей сессии или произвольного пользователя?
\IPS\Member::loggedIn() для текущего
\IPS\Member::load( id ) для произвольного

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

Просмотреть сообщениеHooLIGUN сказал(а):

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

http://ipbskins.ru/f...topic14284.html
0

#3 Пользователь не на сайте   HooLIGUN ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 58
  • Регистрация: 04-Декабрь 11
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 03 Ноябрь 2016 - 01:52

Просмотреть сообщениеsiv1987 03 Ноябрь 2016 - 00:36 сказал(а):

Данные пользователя текущей сессии или произвольного пользователя?
\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 (03 Ноябрь 2016 - 02:02)

0

#4 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 735
  • Регистрация: 20-Март 09
  • Репутация: 2 273
  • IPB version:3.1.x
 

Отправлено 03 Ноябрь 2016 - 02:20

Просмотреть сообщениеHooLIGUN сказал(а):

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

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

#5 Пользователь не на сайте   HooLIGUN ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 58
  • Регистрация: 04-Декабрь 11
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 03 Ноябрь 2016 - 02:26

Просмотреть сообщениеsiv1987 03 Ноябрь 2016 - 02:20 сказал(а):

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

Просмотреть сообщениеHooLIGUN 03 Ноябрь 2016 - 00:24 сказал(а):

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

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

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

#6 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 735
  • Регистрация: 20-Март 09
  • Репутация: 2 273
  • IPB version:3.1.x
 

Отправлено 03 Ноябрь 2016 - 02:40

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

#7 Пользователь не на сайте   HooLIGUN ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 58
  • Регистрация: 04-Декабрь 11
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 03 Ноябрь 2016 - 02:51

Просмотреть сообщениеsiv1987 03 Ноябрь 2016 - 02:40 сказал(а):

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

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

#8 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 735
  • Регистрация: 20-Март 09
  • Репутация: 2 273
  • IPB version:3.1.x
 

Отправлено 03 Ноябрь 2016 - 08:26

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

#9 Пользователь не на сайте   HooLIGUN ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 58
  • Регистрация: 04-Декабрь 11
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 03 Ноябрь 2016 - 13:32

Просмотреть сообщениеsiv1987 03 Ноябрь 2016 - 08:26 сказал(а):

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

в profile
0

#10 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 735
  • Регистрация: 20-Март 09
  • Репутация: 2 273
  • IPB version:3.1.x
 

Отправлено 03 Ноябрь 2016 - 16:11

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

#11 Пользователь не на сайте   HooLIGUN ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 58
  • Регистрация: 04-Декабрь 11
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 03 Ноябрь 2016 - 16:27

Просмотреть сообщениеsiv1987 03 Ноябрь 2016 - 16:11 сказал(а):

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

Я написал же , шаблон - core/front/profile/profile.phtml
Я только недавно установил 4ку, еще не особо не знаю, какой шаблон за что отвечает.
Нужно получить и обработать переменную ниже самого доп.поля
Вложение  Снимок.PNG (18,83К)
Количество загрузок: 3
0

#12 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 735
  • Регистрация: 20-Март 09
  • Репутация: 2 273
  • IPB version:3.1.x
 

Отправлено 03 Ноябрь 2016 - 17:07

Просмотреть сообщениеHooLIGUN сказал(а):

Я написал же

profile на форуме не один. Мало ли что вы под ним подразумеваете. Трать понапрасну свое время из-за недопонимания не очень хочется.

Просмотреть сообщениеHooLIGUN сказал(а):

шаблон - 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

Сообщить об этой теме:


Страница 1 из 1


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2016 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна