Необходимо, чтобы при просмотре пользователя показывались его последние действия.
Можно назвать это и лентой активности пользователя …. Да так и получается… нужно вывести в профиль ленту активности данного пользователя…
Что бы было понятней, изобразил на скрине (обвел красным)…
Предложения, пожелания, вопросы можно ниже можно в личку
а если отдельной вкладкой? или именно как на рисунке надо ?
Да в том то и дело, что вкладки почти никто не просматривает… Ленту нужно сделать на видном месте, как на скрине.
Я думаю что такая лента придаст ативности на сайте в плане просмотра профилей. Ну и вообще это удобно… зашел к человеку в профиль, сразу видишь что нового, прошелся по ссылке присоединился к дискуссии, добавил комментарии )…
Ух-ты! Здоровская вещь, мне б тоже такую. =)
Да я не против если найдется человек, который сделает и выложит для сообщества на платной основе.
Господа кодеры! Присоединяйтесь! Не стесняйтесь пожалуйста!
файл
com_users_profile.tpl
строки:
$(document).ready(function(){
$("#profiletabs > ul#tabs").tabs();
});
заменить на:
$(document).ready(function(){
$("#profiletabs > ul#tabs").tabs();
$.get(
"/actions/my_feed",
{
usrid: {/literal}{$usr.id}{literal}
},
onAjaxSuccess
);
});
function onAjaxSuccess(data){
$('#my_feed').html(data);
}
в этом же файле. там где нужно выводить ленту юзера, добавить:
<div id="my_feed"></div>
файл components/actions/router.php
вставить:
'_uri' => '/^actions\/my_feed$/i', 'do' => 'view_my_feed_only' );
добавить
if ($do=='view_my_feed_only'){ $user_id = $inCore->request('usrid', 'int', 0); $inActions->whereUserIs($user_id); $inActions->showTargets($model->config['show_target']); $inDB->limitIs($model->config['perpage_tab']); $actions = $inActions->getActionsLog(); // получаем последний элемент массива для выборки имя пользователя и ссылки на профиль. $smarty = $inCore->initSmarty('components', 'com_actions_tab.tpl'); $smarty->assign('actions', $actions); $smarty->assign('user_id', $user_id); $smarty->assign('user', $user); $smarty->assign('cfg', $model->config); $smarty->display('com_actions_tab.tpl'); }
там изменился скрипт :
$(document).ready(function(){ $("#profiletabs > ul#tabs").tabs(); });
usrid: {/literal}{$usr.id}{literal}
$smarty = $inCore->initSmarty('components', 'com_actions_tab.tpl'); $smarty->assign('actions', $actions); $smarty->assign('user_id', $user_id); $smarty->assign('user', $user); $smarty->assign('cfg', $model->config); $smarty->display('com_actions_tab.tpl');
cmsPage::initTemplate('components', 'com_actions_tab.tpl')-> assign('actions', $actions)-> assign('user_id', $user_id)-> assign('user', $user)-> assign('cfg', $model->config)-> display('com_actions_tab.tpl');
И если работало, то будет и в 1.10.7 работать
в файле com_users_profile.tpl
теперь вот это
$(document).ready(function(){ $("#profiletabs > ul#tabs").tabs(); });
$(function(){ $(".uitabs").tabs(); });
<script> var usr_id = '{$usr.id}'; $(document).ready(function(){ $.get('/actions/my_feed',{literal}{usrid:usr_id}{/literal},function(data){ $('#my_feed').html(data); }); }); </script>
а если отдельной вкладкой? или именно как на рисунке надо ?
Прошу восстановить профиль Максима Шорина !
Очень грамотный человек, кто согласен ставьте лайк!
Lora, Спасибо огромное, сложилось как всё надо сделать, без Вас бы никак.
В итоге работает так- Если профиль просматривает его владелец, то во вкладке "Лента" должна быть лента его друзей, а если просматривает гость — то лента данного юзера. ??