Как вывести аватар пользователя Jomsocail в любом месте

Недавно занимался интеграцией Jomsocial и компонента K2. Для решения вопроса замены всех аватаров K2 на аватары Jomsocial я нашел хороший плагин. Воистину, долго искал метод вывода аватара Jomsocial в модулях K2, но так и не нашёл.

Зато нашел хорошую статью, которой и воспользовался. Пишу практически без правок вот отсюда: метод вывода аватара пользователя в Jomsocial.

Есть несколько методов получения пути к аватару пользователя такие как getAvatar() это большое изображение и getThumbAvatar() маленькое изображение.

Соответственно приходится писать что-то пободное постоянно:

1
<a href="/<?php echo CRoute::_( 'index.php?option=com_community&view=profile&userid=' . $user->id);?>"><img src="/<?php echo $user->getAvatar()?>"></a>

Очень долго, нудно и не красиво.

Я поступил следующим образом: написал метод получения аватара с двумя входящими параметрами это класс css (где можно будет задать высоту, ширину, отступы и всё что захотите) и метод вызова пути к самому аватару(в зависимости от необходимого размера).

Моя задача была сделать 2 размера выводимых аватаров: 36x36px и 45×45 px.

Подготовил 2 класс в css файле подключенном к данной странице: .cAvatar36{width:36;height:36px} и .cAvatar45{width:45px;height:45px}

И в файле котором находится класс CUser (путь:/components/com_community/libraries/user.php) дописал метод getUserThumb().

Пример:

public function getUserThumb($class '36',$thumb 'getThumbAvatar'){
   $link = CRoute::_( 'index.php?option=com_community&view=profile&userid=' $this->_userid);
   $status strip_tags($this->getStatus());
   $name $this->getDisplayName();
   $userThumb "<a href='".$link."'> <img class='cAvatar".$class." jomNameTips' alt='".$name."' src='".$this->{$thumb}()."' ";
if($status === ''){
   $userThumb.= "original-title='".$name."'>";
}else{
   $userThumb.= "original-title='".$name;
   $userThumb.= ": ";
   $userThumb.= $status."'>";
}
   $userThumb.= "</a>";
   return $userThumb;
}

И соответственно его вызов: если объекта пользователя ещё нет то получаем его

1
<?php $user = CFactory::getUser();?>

и далее выводим наш аватар всего одной строкой

1
<?php echo $user->getUserThumb();?>

Можно передать необходимые параметры

1
<?php echo $user->getUserThumb('45');?>

где подключится класс css с заданными параметрами.

Всё сразу становится удобно!!!

,

Комментариев пока нет

Добавить комментарий