Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

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

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

$this->member_id

Здравствуйте. Делаю хук, идет сравнение в бд по нику залогиненного пользователя, т.е меня. Какая переменная отвечает за того, кто написал сообщение в теме?

Нужно $this->member_id заменить на эту переменную.

$condition = ['member_id=?', $this->member_id];

    public function get_member_nick()
   {
       $db = \IPS\sharedstats\DB::get();
       $approved = [];
       $connected = 0;
       $accs = [];
       $condition = ['member_id=?', $this->member_id];
       if(! \IPS\Settings::i()->connect_master) {
         $condition = ['member_id=?', $this->ipsconnect_id];
       }

       foreach($db::i('stats')->select('id, status, name, server, active', 'stats_forum_connections', $condition) as $acc) {
           $connected++;

           if($acc['status'] === 'approved') {
             $approved[] = $acc;
           }
           $accs[] = $acc;
       }

       return [
           'connected' => $connected,
           'approved' => $approved,
           'accounts' => $accs
       ];
   }   

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

В приведенном коде я не вижу ничего, связанного с темами/постами.

  • Автор

Эта функция применяется в хуке

 

/* !Hook Data - DO NOT REMOVE */
public static function hookData() {
return array_merge_recursive( array (
 'postContainer' =>
 array (
   0 =>
   array (
     'selector' => 'article > aside.ipsComment_author.cAuthorPane.ipsColumn.ipsColumn_medium.ipsResponsive_hidePhone > ul.cAuthorPane_info.ipsList_reset',
     'type' => 'add_inside_start',
     'content' => '{template="member_nick" params="\IPS\Member::loggedIn()" group="global" app="sharedstats"}',
   )
 )

), parent::hookData() );
}
/* End Hook Data */

Не вижу.

 

{template="member_nick" params="\IPS\Member::loggedIn()"

Шаблон и параметр.

Попробуйте заменить \IPS\Member::loggedIn() на $comment->author()

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

  • Автор

Не хочет. Вот шаблон

 

{{if \IPS\Member::loggedIn()->member_id AND \IPS\Settings::i()->connect_enabled}}
 {{foreach $member->member_nick['approved'] as $k => $entry}}
<li>
<span data-ipstooltip="" _title="{$entry['name']}@{$entry['server']}">{$entry['name']}</span>
</li>
 {{endforeach}}
{{endif}}

Я тупанул. Поправил пост.

  • Автор

неа

А кеш почистили?

 

Добавьте в шаблон

{$member->name}

Если выводит имя не автора поста, а текущего юзера, то значит используются старые данные.

  • Автор
[[Template sharedstats/front/global/member_nick is throwing an error. This theme may be out of date. Run the support tool in the AdminCP to restore the default theme.]]
  • Автор

Прошу прощения, это я затупил. Всё перепроверил, почистил кеш - работает как надо. Большое спасибо за помощь. А где посмотреть все переменные для разных частей форума? Или можно будет тут спрашивать? Ну например, если я захочу где-нибудь в клубах вывести или где-нибудь в профиле пользователя.

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

А где посмотреть все переменные для разных частей форума?

Нигде. Если я создам переменную $superPuper, то откуда Вы будете знать, что это за переменная, не разобравшись?

Или можно будет тут спрашивать?

Спрашивайте. На то и форум.

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

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.