Фото в юзер меню!

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 11 октября 2011 в 20:36
Приветствую всех инстантовцев! Хотел бы спросить у знающих хорошо движек людей! В юзер меню версии 1.8 да и предыдущих тоже, по умолчанию закоменчен вот такой фрагмент кода
{if $cfg.avatar}
<a href="/users/{$id}/avatar.html">{$avatar}</a>
{/if}
При разкоменчивании его в модуле выводится маленький (small) аватар пользователя! Его размер 64 на 64 получается эти же small есть ничто иное как и фото в перечне юзеров и друзья и все остальное где есть мини аватарки! Вопрос у меня следующий: как сделать в юзер меню этот аватар размером 32 на 32 но чтобы по сайту остальные small не изменили своего размера и остались 64 на 64? Буду благодарен за Ваш ответ!
#2 11 октября 2011 в 21:04
Добрый вечер.

Я для себя делал, в файле /components/users/includes/usercore.php добавил еще один вид аватарок помимо small и big еще cn которое любой аватар делает высотой в 100px

вот вся функция строка 190 помоему.

  1.  
  2. function usrImage($user_id, $small='small'){
  3. $inDB = cmsDatabase::getInstance();
  4. if ($user_id == -1) { return '<img border="0" class="usr_img" src="/images/messages/update.jpg" />'; }
  5. if ($user_id == -2) { return '<img border="0" class="usr_img" src="/images/messages/massmail.jpg" />'; }
  6.  
  7. $sql = "SELECT p.imageurl, u.is_deleted as is_deleted
  8. FROM cms_user_profiles p, cms_users u
  9. WHERE p.user_id = $user_id AND p.user_id = u.id
  10. LIMIT 1
  11. ";
  12. $result = $inDB->query($sql) ;
  13. if ($inDB->num_rows($result)>0){
  14. $usr = $inDB->fetch_assoc($result);
  15. if($usr['is_deleted']){
  16. if ($small=='small'){
  17. return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/noprofile.jpg" />';
  18. } else if ($small=='cn'){
  19. return '<img border="0" height=100 src="/images/users/avatars/small/noprofile.jpg" />';
  20. }
  21. else
  22. {
  23. return '<img border="0" class="usr_img" src="/images/users/avatars/noprofile.jpg" />';
  24. }
  25. } else {
  26. if ($usr['imageurl'] && @file_exists($_SERVER['DOCUMENT_ROOT'].'/images/users/avatars/'.$usr['imageurl'])){
  27. if ($small=='small'){
  28. return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/'.$usr['imageurl'].'" />';
  29. } else if ($small=='cn'){
  30. return '<img border="0" height=100 src="/images/users/avatars/'.$usr['imageurl'].'" />';
  31. }
  32. else
  33.  
  34. {
  35. return '<img border="0" class="usr_img" src="/images/users/avatars/'.$usr['imageurl'].'" />';
  36. }
  37. } else {
  38. if ($small=='small'){ return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/nopic.jpg" />';
  39. } else
  40. if ($small=='cn'){
  41. return '<img border="0" height=100 src="/images/users/avatars/nopic.jpg" />';
  42. }
  43. else
  44. { return '<img border="0" class="usr_img" src="/images/users/avatars/nopic.jpg" />'; }
  45. }
  46. }
  47. } else {
  48. if ($small=='small'){ return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/nopic.jpg" />';
  49. } else { return '<img border="0" class="usr_img" src="/images/users/avatars/nopic.jpg" />'; }
  50. }
  51. }
  52.  
немного не то, но может пригодится.
#3 11 октября 2011 в 21:44
вот код который я сделал себе
в mod_usermenu.tpl прописал вот так в нужном мне месте
  1.  
  2. <div class="mod_user_menu_avatar_box">
  3.  
  4. {php}
  5.  
  6. if ($this->_tpl_vars['avatar']=='<img src="/images/users/avatars/small/" />') :
  7.  
  8. echo '<img alt="нет аватара" src="/images/users/avatars/small/nopic.jpg" />';
  9.  
  10. else :
  11.  
  12. echo $this->_tpl_vars['avatar'];
  13.  
  14. endif;
  15.  
  16. {/php}
  17.  
  18. </div>
  19.  
в фаил стилей добавил это
  1. .mod_user_menu_avatar_box{
  2. padding: 5px;
  3. overflow: hidden;
  4. width: 50px;
  5. float: left;
  6. }
  7.  
  8. .mod_user_menu_avatar_box img{
  9. margin: 0px auto;
  10. display: block;
  11. height:auto;
  12. width: 45px;
  13. }
  14.  
осталось поиграться с css и будет вам счастье — исправьте width, если надо поиграйтесь с float. если не знаете что за что отвечает — гугл вам в помощь
#4 11 октября 2011 в 22:15
Sergey Platonov спасибо все работает!+++
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.