Joomla! Компонент управления контентом, com_content, по умолчанию не поддерживает отображение аватаров для авторов, которые создают контент для вашего сайта; а ведь это очень важно для отображения присутствия создателей онлайн. К счастью, при помощи внешнего API мы можем легко интегрировать эту функцию в компонент.

Если вы еще не знакомы с Gravatar, то стоит отметить, что он по существу является сервисом для хранения и поиска уникального изображения аватара; если вы создаете контент для веб-сайта, который поддерживает его, то вы можете просто ввести свой адрес электронной почты и получить свой аватар. Он имеет довольно простой функционал, но при этом он отлично помогает в постоянно растущем онлайн-рынке, где определение вашего присутствия онлайн и вашего бренда может распространяться на несколько веб-сайтов, а не только на ваш собственный сайт. Он также является хорошим решением, если CMS не поддерживает добавление аватара пользователем. Ведь именно для этого и нужна интеграция Gravatar в компонент com_content Joomla.

Интеграция Gravatar в Joomla

Интеграция Gravatar в Joomla

Процесс реализации этого решения очень прост и требует добавления небольшого фрагмента кода. Загрузка аватара, подключенного к определенному адресу электронной почты также займет немного времени; вы можете просто отобразить изображение, расположенное по адресу определенного URL:

http://www.gravatar.com/avatar/HASH

Где "HASH" является результатом запуска хэш-функции MD5 по адресу электронной почты, которая гарантирует, что адрес электронной почты защищен от ботов и которая сканируют сеть для поиска адресов электронной почты.

Двумя другими важными параметрами здесь являются:

d - Этот параметр указывает путь к аватару по умолчанию, который может быть использован, когда юзер не имеет счета Gravatar, связанного с его адресом электронной почты.

s - Этот параметр позволяет определить размер аватара (в пикселях) перед загрузкой (аватары в Gravatar всегда квадратные).   

Для отображения аватара в ваших шаблонах Joomla, вы должны использовать следующий код; имейте в виду, что это специально написанный код для использования в компоненте com_content:

PHP код:
  1. $author_obj = JFactory::getUser($this->item->created_by);
  2. $author_email = $author_obj->email;
  3.  
  4. $avatar_hash = md5(strtolower(trim($author_email)));
  5. $avatar_size = 120;
  6.  
  7. $avatar_url = '//www.gravatar.com/avatar/'.$avatar_hash.'.jpg';
  8. $avatar_url .= '?s='.$avatar_size;
  9.  
  10. echo '<img src="'.$avatar_url.'" alt="" />';

Первым делом этот код загружает объект того пользователя, который создал пост (отсюда использование $this->item->CREATED_BY).

Затем требуется загрузить адрес электронной почты из загруженного объекта пользователя и использовать его для создания значения функции MD5 хэш, как было описано в начале этого раздела, при этом нужно переделать все заглавные буквы в маленькие и удалить все лишние пробелы в начале и в конце адреса электронной почты.

Далее, последнее и главное, что нужно сделать, это сгенерировать адрес аватара в Gravatar; как уже упоминалось ранее, хеш-значение MD5, которое генерируется адресом электронной почты на предыдущем этапе, является ключом к нахождению аватара. По желанию, вы можете также назначить переменную величину аватара, взятую из параметров шаблона, для того чтобы дать пользователю больше контроля. Наконец, когда все сгенерировано, нужно использовать выходящий адрес электронной почты для отображения изображения Gravatar.

Таким образом, интеграция Gravatar в Joomla позволяет сделать компонент com_content более гибким и похожим на K2, который поддерживает Gravatar по умолчанию. Разработчики шаблонов и расширений успешно применяли это метод для TechNews, Photo и Writer шаблоны Joomla, чтобы добавить дополнительного стиля своему формату. Так что стоит ознакомиться самостоятельно с этой возможностью, если вы хотите открыть для себя все функции Gravatar API.


 
4.5189393939394 1 1 1 1 1 (Оценок: 264)
4.5189393939394 264
Опубликовано: 28-10-2015

Комментарии  

Татьяна Чекова
+1 #1 Татьяна Чекова 08.06.2016 09:31
Спасибо Вам за статью, очень понятно даже для меня! Я вообще человек случайный в этом деле, всем занимался всегда муж. Но, как говорится, если надо, то на любые баррикады пойдем)) Сначала вообще сомневалась, что смогу, но нет - все получилось! Так что, если что, то мне уже ничего не страшно, благодаря Вашим объяснениям!

Вы не зарегистрированы, чтобы оставлять комментарии.