Вывод аватарки (или фото автора) в тексте топика

В одном из проектов возникла необходимость вывести аватарку или фотку автора прямо в основной текст поста (в .content). Я перепробовал множество вариантов и комбинаций, брал и из whois и еще из разных мест — не выходит, что-то меня никак не осенит как правильно сделать. Помогите плиз…

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

avatar
Имеется ввиду вывести в шаблоне или в тексте поста?
avatar
В шаблоне есть , сразу после него я ставлю ссылку с картинкой на автора (в шаблоне) а дальше уже формируется контент из базы.
Другими словами да, в шаблоне )))
avatar
Ну тогда кусок шаблона с этим изображением в студию… посмотрим, что у вас там не так.
avatar
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oTopic->getUserLogin()}/" class="avatarka"><img src="{$oUserCurrent->getProfileAvatarPath(48)}" alt="{$oUserCurrent->getLogin()}" /></a>

Так я могу вывести картинку с сылкой прямо в после .content.
Сылка ссылается на автора топика, но картинка вставляется того посетителя, кто открыл эту страницу.
Я понимаю, что решение должно быть очевидным, но я его не вижу :(
avatar
Ну, естественно :) $oUserCurrent это и есть текущий посетитель. Для вывода аватарки автора топика вам нужно этого самого автора топика получить. В 0.4 версии это будет проще

$oTopic->getUser()->getProfileAvatarPath(48)


А в 0.3.1 вам нужно либо

1) добавить в соответствующий Action код для получения из базы пользователя-автора топика, передать объект с этим пользователем во вьювер и дальше уже выводить;

либо

2) добавить во все методы mapper`a Topic код для вытягивания пути к аватаре пользователя (в JOIN соответствующей таблицы), реализовать в Topic.entity.class.php аксессор к этой характеристике;

либо

3) в Topic.entity.class.php добавить метод getAuthorAvatar(), которое будет вызывать метод класса User, получающий путь аватарки по переданному идентификатору пользователя (этот метод также нужно будет реализовать).
avatar
Ну $oUserCurrent понятно, это я поставил чтобы хоть что-то выводило )))
К сожалению я только верстальщик, с программированием туго :(
Можно мне 1й или 3й метод разжевать? Готов дать Яду на пиво :)
avatar
Topic.entity.class.php — добавьте функцию:

public function getAuthorAvatarPath($iSize=100) {
    $oUser = Engine::getInstance()->User_GetUserById($this->getUserId());
    return $oUser->getProfileAvatarPath($iSize);
}


Выводить в шаблоне так:
<img src="{$oTopic->getAuthorAvatarPath(48)}" />
avatar
П.С. Пиво не пью, за предложение спасибо.
avatar
Огромное спасибо, всё работает, Вы мне очень помогли! Моих мозгов на это не хватило бы :)
avatar
Такой способ работает для 0.5.1?
avatar
Работает
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.