Jump to content

Использование переменной в signature_separator

Featured Replies

Posted
comment_97501

Доброго времени суток. Как в Global Templates > signature_separator вывести имя "хозяйна" подписи?  {$post['members_display_name']}, {$member['members_display_name']}, {$author['members_display_name']} и т.д ничего не выводят, $this->memberData['members_display_name']} выводит имя того человека, который смотрит подпись. Что я делаю не так и как правильно использовать переменные и как вывести имя "хозяина" подписи?

  • Author
comment_97514

Проблема решена, помогли на стаке, может кому будет актуально:

Цитата

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

Хотя.

Костыль (лучше не использовать - +1 запрос на пост!)

Сначала добавить в этот шаблон:


<php>
    $author = $author_id ? IPSMember::load($author_id, 'all') : null;
</php>

Потом там можно будет использовать:


<if test="$author">{$author['members_display_name']}</if>

Правим исходники (для тех кому все равно)

Находим в файле admin/applications/forums/sources/classes/topics.php строка ~2134:


$post['signature'] = $this->registry->output->getTemplate( 'global' )->signature_separator( $poster['signature'], $poster['author_id'], IPSMember::isIgnorable( $poster['member_group_id'], $poster['mgroup_others'] ) );

Заменяем на:


$post['signature'] = $this->registry->output->getTemplate( 'global' )->signature_separator( $poster['signature'], $poster['author_id'], IPSMember::isIgnorable( $poster['member_group_id'], $poster['mgroup_others'] ), $poster );

Далее идем в админку и меняем параметры этого шаблона на:


$sig="", $author_id=0, $can_ignore=true, $author=null

И потом там можно будет использовать:


<if test="$author">{$author['members_display_name']}</if>

 

-  http://ru.stackoverflow.com/users/179900/lastdragon

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.