Перейти к публикации
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.

$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, то откуда Вы будете знать, что это за переменная, не разобравшись?

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

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

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

Сейчас на странице 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.