Список пользователей на которых подписан юзер [Решено]

10
Возможно вывести в профиле список пользователей на которых подписан юзер?
  • -1
  • 31 января 2012, 16:57
  • Newman

Комментарии (16)

RSS свернуть / развернуть
Конечно. Можно отдельный плагин сделаль, и выводить этот блок в профиле.
0
Интересует можно ли это реализовать минимальными изменениями в движке без написания плагина.
0
ну наверное да. просто проще плагин сделать, как мне кажется.
просто если 1 раз плагин такого рода написал, то там же всё просто уже — можно как каркас использовать.
0
за основу можно взять например плагин livestreetcms.com/addons/view/322

собственно каркас, переписать модель и настройки.
0
Возможно, найди в шаблоне ActionStream (какая точно tplка не помню) найди строку отвечающую за вывод подписанных и добавь в шаблон whois.tpl профайла.
0
Пробовал, так не получается. Там все сложнее гораздо.
Какие переменные куда добавить в файлах экшена тоже разобраться не смог.

Но вообще мне интересно, кому-нибудь еще нужна подобная доработка? Вроде функция нужная, в данный момент у LS система подписок/слежения за активностью какая-то недоработанная.
0
так а смысл? Это достаточно специфическая функция, которая будет достаточно основательно нагружать ЦМС. Т.е. если делать — то только в виде плагина.
0
0
Спасибо!
0
Можно попробовать без использования плагина:
{if $oUserCurrent}
    {assign var="aStreamSubscribedUsers" value=$oUserCurrent->Stream_getUserSubscribes($oUserCurrent->getId())}
    ...
    Количество: {count($aStreamSubscribedUsers)}
    {foreach from=$aStreamSubscribedUsers item=oStreamSubscribedUser name=StreamSubscribed_user}
        <a href="{$oStreamSubscribedUser->getUserWebPath()}" class="user">{$oStreamSubscribedUser->getLogin()}</a>{if !$smarty.foreach.StreamSubscribed_user.last}, {/if}
    {/foreach}
    ...
{/if}

Ну и оформить соответственно в шаблоне.
+2
Отличная идея, только почему бы не сделать, чтобы этот список был общедоступен, как, например, в ВК? Чтобы все пользователи могли видеть список людей, на которых подписан юзер, ваш код нужно поправить буквально чуть-чуть:
{assign var="aStreamSubscribedUsers" value=$oUserProfile->Stream_getUserSubscribes($oUserProfile->getId())}
    Количество: {count($aStreamSubscribedUsers)}
    {foreach from=$aStreamSubscribedUsers item=oStreamSubscribedUser name=StreamSubscribed_user}
        <a href="{$oStreamSubscribedUser->getUserWebPath()}" class="user">{$oStreamSubscribedUser->getLogin()}</a>{if !$smarty.foreach.StreamSubscribed_user.last}, {/if}
    {/foreach}
0
Неработающий вариант. Показывает только тех на кого подписан текущий пользователь, независимо от того чей профиль он смотрит.
0
Поэтому я и сказал, что стоит немного переделать, но меня минусанули :)
0
Ну да, это же профиль.
0
Имеется в виду, что даже просматривая чужой профиль, все равно выводится список пользователей, на которых подписан UserCurrent.
0
Неправильно посмотрел сначала) Shrike предложил правильное решение того как сделать, чтобы отображался список пользователей на которых подписан юзер (только текущий юзер), а Frankenstein, то как сделать, чтобы можно было посмотреть у кого угодно на кого он подписан. Действительно не понимаю почему Frankensteina минусанули =)

Пытаюсь изменить код таким образом, чтобы он выводил список пользователей на блоги которых подписан юзер (т.е. в ленте userfeed подписан на этих юзеров).

Кто-нибудь знает как это сделать?

Пробовал сделать так:
{assign var="aUserfeedSubscribedUsers" value=$oUserProfile->Userfeed_getUserSubscribes($oUserProfile->getId())}
	{foreach from=$aUserfeedSubscribedUsers item=oUserfeedSubscribedUser name=UserfeedSubscribed_user}		
		<a href="{$oUserfeedSubscribedUser->getUserWebPath()}" class="user">{$oUserfeedSubscribedUser->getLogin()}</a>,
	{/foreach}

но в профиле нужная инфа не отображается.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.