Аватары пользователей в ленте активности

+8
964
Просто сейчас делал, решил оставить это здесь на всякий случай.


Иллюстрация



1. /core/classes/action.class.php


  1. $sql = "SELECT log.*,
  2. log.pubdate as orig_pubdate,
  3. a.message,
  4. a.name,
  5. u.nickname as user_nickname,
  6. u.login as user_login
  7. FROM cms_actions_log log
  8. LEFT JOIN cms_actions a ON a.id = log.action_id AND a.is_visible = 1
  9. LEFT JOIN cms_users u ON u.id = log.user_id
  10. WHERE 1=1 {$this->inDB->where}
  11. ORDER BY log.id DESC
  12. ";

меняется на

  1. $sql = "SELECT log.*,
  2. log.pubdate as orig_pubdate,
  3. a.message,
  4. a.name,
  5. u.nickname as user_nickname,
  6. u.login as user_login, u.is_deleted, p.imageurl
  7. FROM cms_actions_log log
  8. LEFT JOIN cms_actions a ON a.id = log.action_id AND a.is_visible = 1
  9. LEFT JOIN cms_users u ON u.id = log.user_id
  10. INNER JOIN cms_user_profiles p ON p.user_id = log.user_id
  11. WHERE 1=1 {$this->inDB->where}
  12. ORDER BY log.id DESC
  13. ";

чуть ниже после

  1. $action['pubdate'] = cmsCore::dateDiffNow($action['pubdate']);
добавить

  1.  
  2. $action['user_avatar'] = cmsUser::getUserAvatarUrl($action['user_id'], 'small', $action['imageurl'], $action['is_deleted']);

в шаблоне com_actions_view.tpl в любом удобном месте между

  1. {foreach key=aid item=action from=$actions}
и

  1. {/foreach}

Вставляем


  1. <img src="{$action.user_avatar}" class="action_usr_ava"/>
в css указываем стили

.action_usr_ava{
width:100px;
height:auto;
}


Вроде ничего не забыл.
+1
abasia abasia 5 лет назад #
Спасибо, пригодится!

Еще от автора

Капча на сайт или разделы сайта
Если нужно, закрыть весь сайт или некоторые его разделы каптчей.
Пинг поисковых систем для первой ветки
Небольшая интеграция инструментов для пингования, чтобы сделать его чуть удобнее
Генератор карты сайта в формате txt на лету без крона
Вообще то где то тут уже есть вполне рабочие генераторы карты для первой ветки, но этот вариант тоже имеет право быть.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.