Дополнительные данные о пользователе под топиком

Добре, господа!

Значит надо мне вывести под топиком дополнительные данные по автору. Аватарку например и плюсик голосования. Для этого надо, чтоб в шаблонах topic.tpl и topic_list.tpl появились данные о нем. С topic.tpl все получилось сразу. В ActionBlog.class.php в функциях вывода топика из коллективного и личного блогов добавил:

$myUser=$this->User_getUserById($oTopic->getUserId());
$this->Viewer_Assign('myUser',$myUser);

И имею в шаблоне юзера, а стало быть и все данные по нему. Например аватару:

<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oTopic->getUserLogin()}/">
<img src="{$myUser->getProfileAvatarPath(24)}" alt="avatar" class="avatar" />
</a>

Со списком топиков же такой финт не проходит. В функции вывода списка топиков все формируется иначе. И как там выделить и правильно передать в шаблон я не соображу. В принципе, в шаблоне доступно $oTopic->getUserLogin() или $oTopic->getUserId() Только куда плясать дальше не совсем понятно.

Можно конечно так:

<img src="http://futurin.ru/uploads/images/{$oTopic->getUserId()}/avatar_24x24.gif"/>

Но костыль явно нерабочий как только расширение у файла станет отличным от gif.

Поможите, люди добрые ;)

5 комментариев

avatar
дерзай:


		$users = array();
		foreach ($aTopics as $topic)
		{
			$users[$topic->getUserId()] = $this->User_getUserById($topic->getUserId());
		}
		$this->Viewer_Assign('users',$users);


а в шаблоне

{$users[1]->getProfileAvatarPath(24)}
avatar
верно, значение юзерАйди должно падать. Но так просто ты не поставишь…
Вот так:

{assign var=userId value=$oTopic->getUserId()}
{$users[$userId]->getProfileAvatarPath(48)}
avatar
avatar
Ух ты. Замечательное, красивое решение. Спасибо за линк.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.