аватары вместо иконок
ЕСТЬ РЕШЕНИЕ
ЗАКРЫТО
изменить ленту активности
#1
29 апреля 2013 в 18:53
В принципе вопрос на скрине.
В ленте активности в начале записи выводится иконка, нужно чтоб не этом месте выводилась аватарка пользователя. пробовал вставлять код вывода аватарки по аналогии с комментариями и со стеной пользователя, но, не работает.
#2
29 апреля 2013 в 19:36
Прошу прощения за офтоп. Но подчерк у вас круть:) Понравился
#3
29 апреля 2013 в 19:39
Boffka, особенно мышкой то! Вообще зачёт!)
Сегодня в 17:41
#4
29 апреля 2013 в 19:42
lokanaft, ждем ответа автора
#5
29 апреля 2013 в 20:58
Я рад что вам весело))), может теперь и мне поможете?
#6
30 апреля 2013 в 01:20
вопрос интересный присоединяюсь… а в ближайшие выходные попробую сам приложу усилия к поиску ответа
Могу сказать где копать. Иконки, которые так Вам не нравятся (точнее, имена файлов иконок), пересылаются в файл /templates/_default_/admin/actions.php в виде значения элемента массива $actions['name']. Сам массив формируется в файле /admin/applets/main.php строчкой Вызываемый класс является файлом /core/classes/actions.class.php. Метод getActionsLog() как раз и формирует массив $actions, обращаясь к таблице cms_actions, откуда и берутся имена картинок.
Вам предстоит переписать этот метод, чтобы в $actions['name'] попадали имена файлов аватаров юзеров, а заодно найти и переписать css, к которому обращается actions.php, потому что пути к иконкам прописаны, полагаю (нет времени искать) в backgraund'е класса css.
Полагаю, дальше справитесь.
$actions = $inActions->getActionsLog();
Вам предстоит переписать этот метод, чтобы в $actions['name'] попадали имена файлов аватаров юзеров, а заодно найти и переписать css, к которому обращается actions.php, потому что пути к иконкам прописаны, полагаю (нет времени искать) в backgraund'е класса css
class="action_entry act_<?php echo $action['name']; ?>"
Полагаю, дальше справитесь.
#8
30 апреля 2013 в 13:33
Странник, вероятней всего вопрос не про ленту в админке, а про компонент actions и его модуль...
операции нужно проводить немножечко с другими файлами, если не ошибаюсь)
операции нужно проводить немножечко с другими файлами, если не ошибаюсь)
reload, естественно, если компонент, то с другими файлами. Требуется копаться в фронтэнде компонента и его *.tpl. Принцип абсолютно аналогичен — передаются имена файлов иконок. Однако как был сформулирован вопрос, так и был понят, телепатии, простите, не обучен…
#10
30 апреля 2013 в 19:19
вопрос не скрине — на скрине морда — телепатия отдыхает!))телепатии, простите, не обучен
#11
30 апреля 2013 в 19:35
reload, +100, я поэтому стараюсь скрины делать, чтоб телепатов не разводить)))
#12
30 апреля 2013 в 19:37
Если помощь не нужна, справляйтесь сами.
#13
30 апреля 2013 в 19:47
Странник, я не сказал что не нужна помощь, что жвы так восприняли в штыки, уж простите если обидел. Просто реально вопрос на скрине в первом посте.
присоединяюсь, писал не для обидеть!) просто подчеркнул что вопрос более чем понятен)уж простите если обидел
Странник, с вашими подсказанными действиями тоже согласился, лишь поправил что файлики другие нужно править!)
То что не заметили морды, бывает, но и на поправки не нужно остро реагировать!
Спасибо за понимание!)
Файл /core/classes/actions.class.php:
Заменить:
Этим:
Теперь вы можете использовать "user_image" где угодно в ваших шаблонах, вот например в com_actions_view.tpl:
Заменить:
На:
Пример работы и с аватарами и без (во всяком случае в данный момент там есть такие записи).
Также вы можете сделать и в шаблоне модуля, просто вставив {$action.user_image} в нужное место.
Заменить:
334 u.login as user_login FROM cms_actions_log log
u.login as user_login, up.imageurl as user_image FROM cms_actions_log log
Заменить:
<div class="action_entry act_{$action.name}">
<div class="action_entry{if $action.user_image}" style="background: url('/images/users/avatars/small/{$action.user_image}') 0% 3px no-repeat transparent;background-size: 16px{else} act_{$action.name}{/if}">
Также вы можете сделать и в шаблоне модуля, просто вставив {$action.user_image} в нужное место.