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

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

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

Но вообще мне интересно, кому-нибудь еще нужна подобная доработка? Вроде функция нужная, в данный момент у LS система подписок/слежения за активностью какая-то недоработанная.
avatar
так а смысл? Это достаточно специфическая функция, которая будет достаточно основательно нагружать ЦМС. Т.е. если делать — то только в виде плагина.
avatar
avatar
Спасибо!
avatar
Можно попробовать без использования плагина:
{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}

Ну и оформить соответственно в шаблоне.
avatar
Отличная идея, только почему бы не сделать, чтобы этот список был общедоступен, как, например, в ВК? Чтобы все пользователи могли видеть список людей, на которых подписан юзер, ваш код нужно поправить буквально чуть-чуть:
{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}
avatar
Неработающий вариант. Показывает только тех на кого подписан текущий пользователь, независимо от того чей профиль он смотрит.
avatar
Поэтому я и сказал, что стоит немного переделать, но меня минусанули :)
avatar
Ну да, это же профиль.
avatar
Имеется в виду, что даже просматривая чужой профиль, все равно выводится список пользователей, на которых подписан UserCurrent.
avatar
Неправильно посмотрел сначала) 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}

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