Нужна доработка профиля- последние действия пользователя...

#1 5 марта 2013 в 22:10
Кто может немного доработать профиль пользователя?
Необходимо, чтобы при просмотре пользователя показывались его последние действия.
Можно назвать это и лентой активности пользователя …. Да так и получается… нужно вывести в профиль ленту активности данного пользователя…
Что бы было понятней, изобразил на скрине (обвел красным)…



Предложения, пожелания, вопросы можно ниже можно в личку
#2 6 марта 2013 в 02:53
а если отдельной вкладкой? или именно как на рисунке надо?
#3 6 марта 2013 в 08:55
Ух-ты! Здоровская вещь, мне б тоже такую. =)
#4 6 марта 2013 в 10:00
Да, думаю, надо, чтоб во вкладке "Лента" это было. Если профиль просматривает его владелец, то во вкладке "Лента" должна быть лента его друзей, а если просматривает гость — то лента данного юзера. Предлагаю это включить в iCMS2, для 1.9-1.10 срочно сделать хак, а аффтару идеи плюсануть)))
#5 6 марта 2013 в 10:29

а если отдельной вкладкой? или именно как на рисунке надо ?

Максим Шорин

Да в том то и дело, что вкладки почти никто не просматривает… Ленту нужно сделать на видном месте, как на скрине.
Я думаю что такая лента придаст ативности на сайте в плане просмотра профилей. Ну и вообще это удобно… зашел к человеку в профиль, сразу видишь что нового, прошелся по ссылке присоединился к дискуссии, добавил комментарии )…
#6 6 марта 2013 в 10:42

Ух-ты! Здоровская вещь, мне б тоже такую. =)

Azura

Да я не против если найдется человек, который сделает и выложит для сообщества на платной основе.

Господа кодеры! Присоединяйтесь! Не стесняйтесь пожалуйста!
#7 6 марта 2013 в 11:00
Да да да, классная вещь получится.
#8 8 марта 2013 в 16:44
Пример

файл
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
вставить:
  1.  
  2. $routes[] = array(
  3. '_uri' => '/^actions\/my_feed$/i',
  4. 'do' => 'view_my_feed_only'
  5. );
  6.  
файл components/actions/frontend.php

добавить

  1.  
  2. if ($do=='view_my_feed_only'){
  3.  
  4. if($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') { exit; }
  5.  
  6. $user_id = $inCore->request('usrid', 'int', 0);
  7. $inActions->whereUserIs($user_id);
  8.  
  9.  
  10. $inActions->showTargets($model->config['show_target']);
  11. $inDB->limitIs($model->config['perpage_tab']);
  12. $actions = $inActions->getActionsLog();
  13. // получаем последний элемент массива для выборки имя пользователя и ссылки на профиль.
  14. $user = end($actions);
  15.  
  16. $smarty = $inCore->initSmarty('components', 'com_actions_tab.tpl');
  17. $smarty->assign('actions', $actions);
  18. $smarty->assign('user_id', $user_id);
  19. $smarty->assign('user', $user);
  20. $smarty->assign('cfg', $model->config);
  21. $smarty->display('com_actions_tab.tpl');
  22. echo ob_get_clean(); exit;
  23.  
  24. }
  25.  
#9 14 октября 2017 в 10:45
Денис Васильевич, а как такую штуку до 1.10.7 обновить?

там изменился скрипт :

  1. $(document).ready(function(){
  2. $("#profiletabs > ul#tabs").tabs();
  3. });
и вот тут видимо очепятка
  1. usrid: {/literal}{$usr.id}{literal}
#10 14 октября 2017 в 11:56
Приведите это
  1. $smarty = $inCore->initSmarty('components', 'com_actions_tab.tpl');
  2. $smarty->assign('actions', $actions);
  3. $smarty->assign('user_id', $user_id);
  4. $smarty->assign('user', $user);
  5. $smarty->assign('cfg', $model->config);
  6. $smarty->display('com_actions_tab.tpl');
к такому виду
  1. cmsPage::initTemplate('components', 'com_actions_tab.tpl')->
  2. assign('actions', $actions)->
  3. assign('user_id', $user_id)->
  4. assign('user', $user)->
  5. assign('cfg', $model->config)->
  6. display('com_actions_tab.tpl');

И если работало, то будет и в 1.10.7 работать
#11 14 октября 2017 в 14:37
Lora, спасибо, но это не всё

в файле com_users_profile.tpl

теперь вот это
  1. $(document).ready(function(){
  2. $("#profiletabs > ul#tabs").tabs();
  3. });
выглядит так
  1. $(function(){ $(".uitabs").tabs(); });
оказывается есть продолжение темы но там ничего нового instantcms.ru/blogs/dopolnenija-i-shablony-ot-goodmade-ru/dorabotka-profilja-poslednie-deistvija-polzovatelja.html
#12 15 октября 2017 в 14:41
В самый низ файла пропишите
  1. <script>
  2. var usr_id = '{$usr.id}';
  3. $(document).ready(function(){
  4. $.get('/actions/my_feed',{literal}{usrid:usr_id}{/literal},function(data){
  5. $('#my_feed').html(data);
  6. });
  7. });
  8. </script>
#13 16 октября 2017 в 02:07


а если отдельной вкладкой? или именно как на рисунке надо ?

Максим Шорин

Прошу восстановить профиль Максима Шорина !
Очень грамотный человек, кто согласен ставьте лайк!
#14 18 октября 2017 в 19:55
Lora, Спасибо огромное, сложилось как всё надо сделать, без Вас бы никак.
#15 1 ноября 2017 в 14:06


Lora, Спасибо огромное, сложилось как всё надо сделать, без Вас бы никак.

Александр

В итоге работает так- Если профиль просматривает его владелец, то во вкладке "Лента" должна быть лента его друзей, а если просматривает гость — то лента данного юзера. ??
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.