Примерно во времена появления форума FireBoard появился и модуль FBLatest, предназначенный для вывода последних сообщений форума. В стандартном виде он представлял из себя исключительно ссылки на последние посты форума, имена авторов и дату. Но вот с форумными аватарами этот модуль смотится куда интереснее, так что добавляем.
Для этого добавим одну функцию в mod_fblatest.php и еще пару строк кода.
1. Для начала нам понадобиться флаг при использовании которого в настройках модуля в админке мы будем выводить аватар:
$item_format = str_replace( "%A", fblatest_makeavatar( $post->userid ), $item_format ); |
2. Во-вторых перепишем функцию fblatest_makesubjectlink( $post, $text, $componentname, $name) следующим образом:
function fblatest_makesubjectlink( $post, $text, $componentname, $name) { global $database; $database->setQuery( "SELECT avatar FROM `jos_fb_users` WHERE userid ='".$userid."';" ); $userDetails=$database->loadObjectList(); foreach($userDetails as $user) {$username = $user->name; #echo $name; } #$url = 'index.php?option='.$componentname.'&Itemid='.$menuitemid.'&func=view&catid='.$post->catid.'&id='.$post->id; $url = 'index.php?option='.$componentname.'&Itemid=52'.'&func=view&catid='.$post->catid.'&id='.$post->id; if (function_exists( 'sefRelToAbs' )) $url = sefRelToAbs( $url ); return '<a href="'.$url.'#'.$post->id.'">'.$text.'</a>'; } |
3. И в третьих создадим новую функцию fblatest_makeavatar( $userid ):
function fblatest_makeavatar( $userid ) { global $database; $database->setQuery( "SELECT avatar FROM `jos_fb_users` WHERE userid ='".$userid."';" ); $userDetails=$database->loadObjectList(); foreach($userDetails as $user) {$username = $user->name; $fbavatar = $user->avatar; if ($fbavatar == '') { $fbav= "<img src=\"images/fbfiles/avatars/s_nophoto.jpg\" width=\"50\">"; } else $fbav= '<img src="images/fbfiles/avatars/s_' . $fbavatar . '" height=\"50\" />'; } return $fbav; } |
А как вывод из community builder аватаров реализовать не снаете?
Делать конкретно это не приходилось, но думаю можно сделать подобным описанному образом (при понимании php и sql): селектить адрес картинки аватара по id юзера из таблицы юзеров community builder и выводить ее в соотвествующем модуле. А еще можно поискать готовый модуль на joomlaforum.ru или joomla.org