Не много изменить вид клубов

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 10 апреля 2011 в 03:27
Приветствую! Уважаемые, как Вы считаете? В клубах под изображением самого клуба мы видим перечень участников! Я хочу предложить вместо перечня выводить их фото, как на странице пользователя "мои друзья" Кто поддержит или подскажет в каких файлах можно прописать вывод этих мини аватаров.Спасибо!
#2 10 апреля 2011 в 06:43
в файле
/core/lib_clubs.php
добавляем в самый “хвост”
новую функцию:

  1.  
  2. function clubMembersListWithAvatar($club_id){
  3. $inCore = cmsCore::getInstance();
  4. $inDB = cmsDatabase::getInstance();
  5.  
  6. $sql = "SELECT u.id as id, u.nickname as nickname, u.login as login, p.imageurl as imageurl
  7. FROM cms_user_clubs c
  8. LEFT JOIN cms_users u ON u.id = c.user_id
  9. LEFT JOIN cms_user_profiles p ON p.user_id = u.id
  10. WHERE c.club_id = '$club_id'";
  11.  
  12. $rs = $inDB->query($sql);
  13. $total = $inDB->num_rows($rs);
  14.  
  15. $now=0; $html = '';
  16.  
  17. while($usr = $inDB->fetch_assoc($rs)){
  18. if (!function_exists('usrImageNOdb')){ //if not included earlier
  19. include_once($_SERVER['DOCUMENT_ROOT'].'/components/users/includes/usercore.php');
  20. }
  21. $usrimage = usrImageNOdb($usr['id'], 'small', $usr['imageurl']);
  22.  
  23. $html .= $usrimage.'<a href="/users/'.$usr['login'].'" class="nickname"><span>'.$usr['nickname'].'</span></a>';
  24.  
  25. if ($now < $total-1) { $html .= ', '; }
  26. $now ++;
  27. }
  28.  
  29. return $html;
  30. }
  31.  
сразу после функции clubMemmbersList (это она и есть только слегка видоизмененная)

в файле
/components/clubs/frontend.php
(строка 159)
  1.  
  2. $club['members_list'] = clubMembersList($id);
  3.  
изменяем на:
  1.  
  2. $club['members_list'] = clubMembersListWithAvatar($id);
  3.  

если нужно что-то дополнительно меняем в шаблоне
(или код в конце новой функции clubMembersListWithAvatar $html .= )
(/папка_шаблона/components/com_clubs_view_club.tpl)
строка 28:
  1.  
  2. <div class="list">{$club.members_list}</div>
  3.  
#3 10 апреля 2011 в 17:33
Спасибо! Работает но только вот какая бяка получается! А я бы хотел чтоб выводились в 2 колонки и имя над или под аватаром, не подскажите как дальше, а то мозгов пока на такие вещи не хватает! Буду признателен! + в карму!
#4 10 апреля 2011 в 17:34
А то вот что получается!

#5 10 апреля 2011 в 17:50
+
Еще не проверял, не знаю есть это или нет — нужно ограничить количество вывода пользователей, к примеру 10 человек и снизу ссылочку "все"… ато както не гуд будет при большом количестве)
Будет напоминать вконтакт с их трехметровыми страницами laugh(правда давно там не был, может че и изменилось)
#6 10 апреля 2011 в 17:54
Согласен с UAVIP по поводу ограничения и ссылки "Все" А ВСЕ ТАКИ КАК СДЕЛАТЬ ЭТО В 2 КОЛОНКИ?
#7 10 апреля 2011 в 18:07
для вывода двух колонок, копаться наверное надо в com_clubs_view_club.tpl
#8 10 апреля 2011 в 18:12
Mike отзовитесь! Помогите начинающему сайтостроителю!
#9 10 апреля 2011 в 18:33
Потерпите чуток смотрю как проще реализовать… )
#10 10 апреля 2011 в 18:45
Спасибо, будем ждать!
#11 10 апреля 2011 в 18:59
Попробуйте пока так

Новая функция (там же где и меняли)

  1.  
  2. function clubMembersListWithAvatar($club_id){
  3. $inCore = cmsCore::getInstance();
  4. $inDB = cmsDatabase::getInstance();
  5.  
  6. $sql = "SELECT u.id as id, u.nickname as nickname, u.login as login, p.imageurl as imageurl
  7. FROM cms_user_clubs c
  8. LEFT JOIN cms_users u ON u.id = c.user_id
  9. LEFT JOIN cms_user_profiles p ON p.user_id = u.id
  10. WHERE c.club_id = '$club_id' LIMIT 10";
  11.  
  12. $rs = $inDB->query($sql);
  13. $total = $inDB->num_rows($rs);
  14.  
  15. $now=0; $html = '';
  16.  
  17. while($usr = $inDB->fetch_assoc($rs)){
  18. if (!function_exists('usrImageNOdb')){ //if not included earlier
  19. include_once($_SERVER['DOCUMENT_ROOT'].'/components/users/includes/usercore.php');
  20. }
  21. $usrimage = usrImageNOdb($usr['id'], 'small', $usr['imageurl']);
  22.  
  23. $html .= '<div class="user_list" style="float:left; width:80px; align:left; padding:10px; margin: 10px;">'. $usrimage.'<a href="/users/'.$usr['login'].'" class="nickname" ><p class="user_nick" style="line-height: 20px; width: 60px;">'.$usr['nickname'].'</p></a></div>';
  24.  
  25. if ($now < $total-1) { $html .= ', '; }
  26. $now ++;
  27. }
  28. $html .= '<div style="clear:both"></div>';
  29. return $html;
  30. }
  31.  
#12 10 апреля 2011 в 19:01
Пока просто лимит равен 10 «ссылоку на все» надо подумать как задействовать, чтоб меньше редактировать…
#13 10 апреля 2011 в 19:03


для вывода двух колонок, копаться наверное надо в com_clubs_view_club.tpl

uavip

нет, туда приходит уже сформированный блок html
#14 10 апреля 2011 в 19:09
Mike, уже лучше только какие то запятые появилист! Я посмотрел в коде-не могу понять откуда они берутся и что их дублирует! Вот скрин!
#15 10 апреля 2011 в 19:21
Я так понимаю на счет запятых копать нужно в другом файле… но вот в каком???
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.