Получить ID группs пользователя через API - Дизайн и модификация Invision Power Board

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

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

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

api

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

Получить ID группs пользователя через API в профиле пользователя нужно получить id его группы

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

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

Отправлено 17 Декабрь 2012 - 18:51

Здравствуйте.
Итак, сколько не гуглил, так и не нашел внятной документации по API.
IPB 3.3.1

Имеем профиль пользователя (допустим /user/1001/)

В профиле пользователей есть доп. поля, которые должны иметь разные атрибуты в зависимости от того, к какой группе пользователь принадлежит.

Например у группы id 7, ссылка на сайт из профиля должна быть индексируемая.
У остальных групп - ссылки не индексируемые.

Ковырял skin_profile, в частности "customFieldGroup__contact".

Попытка тупо вывести хотя бы id группы пользователя или id пользователя методом:
{$author['member_id']} или {$member['member_id']}, так же {$author['g_id']} или {$member['g_id']} и т.д. - не дают результата.

{$this->memberData['member_id']} - выводит ID пользователя, который просматривает страницу.

Вот как мне в "customFieldGroup__contact" получить ID группы пользователя, чтобы на основе этого построить затем условя отображения ссылок и т.д.?
0

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

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 171
  • Регистрация: 15-Декабрь 10
  • Репутация: 13
  • Откуда:Москва/Коломна
  • IPB version:3.4.x
 

Отправлено 17 Декабрь 2012 - 19:03

Если не ошибаюсь, то вот Вам ID группы:
$this->memberData['member_group_id']
0

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

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

Отправлено 17 Декабрь 2012 - 19:07

Просмотреть сообщениеBonov 17 Декабрь 2012 - 19:03 сказал(а):

Если не ошибаюсь, то вот Вам ID группы:
$this->memberData['member_group_id']


Это ID группы того, кто смотрит страницу/профиль - т.е. собственный.

А нужен ID группы того, чей профиль мы смотрим - т.е. отдельного пользователя, чей профиль мы просматриваем.

Сообщение изменено: rech (17 Декабрь 2012 - 19:07)

0

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

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 171
  • Регистрация: 15-Декабрь 10
  • Репутация: 13
  • Откуда:Москва/Коломна
  • IPB version:3.4.x
 

Отправлено 17 Декабрь 2012 - 19:11

Я лично не подскажу, но пока ждете ответа от знающих людей, советую посмотреть все хуки, которые могут быть связаны с этим функционалом и найти правильный код в них.
0

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

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

Отправлено 17 Декабрь 2012 - 20:00

Просмотреть сообщениеBonov 17 Декабрь 2012 - 19:11 сказал(а):

Я лично не подскажу, но пока ждете ответа от знающих людей, советую посмотреть все хуки, которые могут быть связаны с этим функционалом и найти правильный код в них.



смотрел, но так и ничего не нашел.

У меня условие: это нужно встраивать в шаблон.

З.Ы. А как часто тут появляются профи?
0

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

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

Отправлено 18 Декабрь 2012 - 03:19

Итак дополняю.

Есть шаблон profileModern, в нем есть код отвечающий за вывод "контактов":

<if test="member_contact_fields:|:is_array( $member['custom_fields']['contact'])">
  <foreach loop="cfields:$member['custom_fields']['contact'] as $field">
    {$field}
  </foreach>
</if>


этот код генерирует всё на основе "customFieldGroup__contact", там есть следующие строчки:
<if test="cf_website:|:$f->raw_data['pf_key'] == 'website'">
<a class='url uid' rel="me" href='{$f->parsed}'>{$f->parsed}</a>
<else />



мне нужно, чтобы у пользователей групп не ID 7 в профиле это выглядело так:

<if test="cf_website:|:$f->raw_data['pf_key'] == 'website'">
<a class='url uid' rel="me nofollow" href='{$f->parsed}'>{$f->parsed}</a>
<else />


т.е. мне бы тупо получить ID группы того пользователя, которого просматриваю.
0

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

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

Отправлено 19 Декабрь 2012 - 18:44

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

Вот как мне в "customFieldGroup__contact" получить ID группы пользователя, чтобы на основе этого построить затем условя отображения ссылок и т.д.?

В customFieldGroup__contact нет ид группы пользователя, ни каких-либо других его данных. Получить можно только в шаблоне профиля profileModern - $member['member_group_id']
0

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

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

Отправлено 20 Декабрь 2012 - 04:24

Просмотреть сообщениеsiv1987 19 Декабрь 2012 - 18:44 сказал(а):

В customFieldGroup__contact нет ид группы пользователя, ни каких-либо других его данных. Получить можно только в шаблоне профиля profileModern - $member['member_group_id']

какой кошмар, эта ваша заливная рыба... брррр.. т.е. IPB.

Пришлось распарсить url, чтобы получить id пользователя и через IPSMember получить уже его группу.
0

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

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

Отправлено 24 Декабрь 2012 - 20:58

Я вот тут подумал.

А может как то можно создать глобальную переменную в profileModern и ей присвоить ID группы пользователя, чтобы потом её извлечь в customFieldGroup__contact?

или как-то передать данные из profileModern в customFieldGroup__contact?

а то, ято всё сделал, всё работает, но ИМХО: душа требует использование "внутренних функций" IPB.
0

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

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

Отправлено 24 Декабрь 2012 - 23:01

Дело в том, что customFieldGroup__contact собирается раньше чем profileModern, т.е. передать через глобальную переменную не получится. Можно конечно захукать или захоркодить метод где собирается customFieldGroup__contact - sources\classes\customfields\profileFields.php, parseToView. В нем доступна свойство $this->member_data.
Создайте там глоб. переменную $GLOBALS['member_data'], откуда можно будет получить данные в шаблонах семейство customFieldGroup__*

$GLOBALS['member_data'] = $this->member_data;

0

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


Страница 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
При копировании материалов с сайта
прямая ссылка на источник обязательна