и так начнем. Изменения коснулось всего 3 файлов
файл 1)
core/classes/user.class.php перед последней закрывающейся скобкой
Код PHP:
файл 2)
public static function getAwarsGif($user_id) { if (!$user_id) { } return self::$cache['users_awards_gif'][$user_id]; } $sql = "SELECT title, imageurl FROM cms_user_awards WHERE user_id = '$user_id' ORDER BY pubdate DESC"; $result = cmsDatabase::getInstance()->query($sql); if (!cmsDatabase::getInstance()->num_rows($result)) { } $html = ''; while ($aw = cmsDatabase::getInstance()->fetch_assoc($result)) { $html .= '<img class="forum_awards" src="/images/users/awards/' . $aw['imageurl'] . '" title= "' . $aw['title'] . '" />'; } return self::$cache['users_awards_gif'][$user_id] = $html; }
components/f orum/model.php находим функцию function getPosts строка примерно 486
меняем
Код PHP:
на
$post['user_awards'] = cmsUser::getAwardsList($post['user_id']);
Код PHP:
файл 3)
$post['user_awards_gif'] = cmsUser::getAwarsGif($post['user_id']);
templates/_default_/components/com_forum_view_thread.tpl (если шаблон другой смотрим по аналогии)
меняем
Код PHP:
на
{if $post.user_awards} <div class="post_userawards"> <img src="/images/icons/award.gif" border="0" alt="{$award.title|escape:html}" title="{$award.title|escape:html}"/> {/foreach} </div> {/if}
Код PHP:
вот собственно и все
{if $post.user_awards_gif}{$post.user_awards_gif}{/if}
P.S. запрос кэшируется т.е. если профиль несколько раз на странице, то запрос будет только один
также по желанию добавляем в css размер выводимых наград:
Код CSS:
.forum_awards{width:24px}
для модуля - доска почета
находим modules/mod_respect/module.phpменяем
Код PHP:
на
if ($cfg['show_awards']){ $user['awards'] = $inDB->get_table('cms_user_awards', 'user_id='.$user['id'], 'id, title'); }
Код PHP:
и в шаблоне mod_respect.tpl
if ($cfg['show_awards']){ $user['awards'] = cmsUser::getAwarsGif($user['id']); }
меняем
Код PHP:
на
{if $cfg.show_awards} <div style="margin-top:6px"> <img src="/images/icons/award.gif" border="0" title="{$award.title|escape:'html'}" /> {/foreach} </div> {/if}
Код PHP:
{if $cfg.show_awards}<div style="margin-top:6px">{$user.awards}</div>{/if}
Как сделать чтоб награды не выводились на форуме вообще?
components /forum/model.php находим функцию function getPosts строка примерно 486закомментировать
Код PHP:
//$post['user_awards'] = cmsUser::getAwardsList($post['user_id']);