Аватар на объявлении

#1 15 января 2012 в 23:40
Кто знает, как вывести аватар на объявлении, подскажите пожалуйста
#2 16 января 2012 в 02:39
вы бы хоть нарисовали примерно в пэйнте или фотошопе, как хотите это видеть.
#3 16 января 2012 в 15:25
Можно где ссылка на автора, но в принципе как это будет выглядеть уже другое дело, изначально чтобы small avatar присутствовал в любом месте на списке объявлений и на самом объявлении, потом уже будем плясать…
#4 24 января 2012 в 04:27

Решение для версии 1.9

файл /components/board/model.php (строка ~302):
находим в
  1.  
  2. public function getAdverts($show_all = false, $is_users = false, $is_coments = false, $is_cats = false)...
  3. ..........
  4. 302. //подготовим условия
  5.  
и заменяем всё что ниже //подготовим условия этим блоком до строки
  1. $sql = "SELECT i.*{$r_select}
  1.  
  2. $pub_where = ($show_all ? '1=1' : 'i.published = 1');
  3. $r_join = $is_users ? " LEFT JOIN cms_users u ON u.id = i.user_id \n" : '';
  4. $r_join .= $is_users ? " LEFT JOIN cms_user_profiles up ON up.user_id = u.id \n" : '';
  5.  
  6. $r_join .= $is_cats ? " INNER JOIN cms_board_cats cat ON cat.id = i.category_id" : '';
  7.  
  8. $r_select = $is_users ? ', u.login, u.nickname, u.is_deleted as author_out' : '';
  9. $r_select .= $is_users ? ', up.imageurl as author_avatar' : '';
  10. $r_select .= $is_cats ? ', cat.title as cat_title, cat.obtypes' : '';
  11.  
далее ниже в этой же функции после блока:
  1.  
  2. if (!$item['file'] || !file_exists(PATH.'/images/board/small/'.$item['file'])){
  3. $item['file'] = 'nopic.jpg';
  4. }
  5.  
вставляем этот блок:
  1.  
  2. if (!function_exists('usrImageNOdb')){
  3. include_once($_SERVER['DOCUMENT_ROOT'].'/components/users/includes/usercore.php');
  4. }
  5. $item['avatar'] = usrImageNOdb($item['user_id'], 'small', $item['author_avatar'], $item['author_out']);
  6.  
  7.  
далее, в файле шаблона /templates/_default_/components/com_board_items.tpl ищем, например этот блок (добавление выделено комментариями)
  1.  
  2. {if $cfg.photos}
  3. <td width="30" valign="top">
  4. <img class="bd_image_small" src="/images/board/small/{$con.file}" border="0" alt="{$con.title|escape:'html'}"/>{***добавлено***}{$con.avatar}{***добавлено***}
  5. </td>
  6. {/if}
  7.  
#5 24 января 2012 в 19:08
для одиночной записи в model.php (целиком, т.к. не большой блок)
  1.  
  2. public function getRecord($item_id) {
  3.  
  4. $this->deleteOldRecords();
  5. $this->clearOldVips();
  6.  
  7. $sql = "SELECT i.*,
  8. a.id as cat_id,
  9. a.form_id,
  10. a.NSLeft as NSLeft,
  11. a.NSRight as NSRight,
  12. a.title as cat_title,
  13. a.title as category,
  14. a.public as public,
  15. a.thumb1 as thumb1,
  16. a.thumb2 as thumb2,
  17. a.thumbsqr as thumbsqr,
  18. u.nickname as user,
  19. u.login as user_login,
  20. u.is_deleted as author_out,
  21. up.imageurl as author_avatar
  22. FROM cms_board_items i
  23. LEFT JOIN cms_board_cats a ON a.id = i.category_id
  24. LEFT JOIN cms_users u ON u.id = i.user_id
  25. LEFT JOIN cms_user_profiles up ON up.user_id = u.id
  26. WHERE i.id = '$item_id' ";
  27.  
  28. $result = $this->inDB->query($sql);
  29.  
  30. if (!$this->inDB->num_rows($result)){ return false; }
  31.  
  32. $record = $this->inDB->fetch_assoc($result);
  33.  
  34. $timedifference = strtotime("now") - strtotime($record['pubdate']);
  35. $record['is_overdue'] = round($timedifference / 86400) > $record['pubdays'] && $record['pubdays'] > 0;
  36. $record['fpubdate'] = $record['pubdate'];
  37. $record['pubdate'] = cmsCore::dateFormat($record['pubdate']);
  38. $record['vipdate'] = cmsCore::dateFormat($record['vipdate']);
  39. $record['enc_city'] = urlencode($record['city']);
  40. $record['moderator'] = $this->checkAccess($record['user_id']);
  41. if (!$record['file'] || !file_exists(PATH.'/images/board/small/'.$record['file'])){
  42. $record['file'] = '';
  43. }
  44. if (!function_exists('usrImageNOdb')){
  45. include_once($_SERVER['DOCUMENT_ROOT'].'/components/users/includes/usercore.php');
  46. }
  47. $record['avatar'] = usrImageNOdb($record['user_id'], 'small', $record['author_avatar'], $record['author_out']);
  48.  
  49. if (!$record['formsdata']){
  50. $record['form_array'] = array();
  51. } else {
  52. $record['form_array'] = $this->inCore->yamlToArray($record['formsdata']);
  53. }
  54.  
  55. $record = cmsCore::callEvent('GET_BOARD_RECORD', $record);
  56.  
  57. return $record;
  58. }
  59.  
в файле шаблона /templates/_default_/components/com_board_item.tpl вставляем в нужном месте:
например так:
  1.  
  2. <table width="100%" height="" cellspacing="" cellpadding="0" class="bd_item_full">
  3. <tr>{***добавлено***}<td>{$item.avatar}</td>{***добавлено***}
  4.  
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.