Как сделать загрузку аватара на php

Выводим аватар пользователя на страницу с применением стиля изображения.

Как вы понимаете, сегодня будем решать довольно тривиальную задачу, которая в последнее время становится все более актуальной, а именно будем выводить аватар пользователя (поле из профиля пользователя) на страницу сайта (шаблон page.tpl.php). По умолчанию, drupal предоставляет при регистрации загружать аватар и выбрать для него «стиль изображения», но на этом все его настройки и заканчиваются, а что делать если нам необходимо в профиле пользователя показать допустим изображение с размерами 200px на 200px, а на странице сайта допустим 30px на 30px? Естественно есть ряд решений:

то можно обойтись и без региона, но данное средство не является универсальным, хотя бы потому, что вдруг вы решите выложить свой шаблон на drupal.org – то всё ваше решение с views сойдёт на нет.

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

Как сделать загрузку аватара на php. Смотреть фото Как сделать загрузку аватара на php. Смотреть картинку Как сделать загрузку аватара на php. Картинка про Как сделать загрузку аватара на php. Фото Как сделать загрузку аватара на php

Так же у меня уже загружен аватар,

Как сделать загрузку аватара на php. Смотреть фото Как сделать загрузку аватара на php. Смотреть картинку Как сделать загрузку аватара на php. Картинка про Как сделать загрузку аватара на php. Фото Как сделать загрузку аватара на php

И есть стиль изображения, который мы будем использовать при выводе аватара пользователя на страницу:

Как сделать загрузку аватара на php. Смотреть фото Как сделать загрузку аватара на php. Смотреть картинку Как сделать загрузку аватара на php. Картинка про Как сделать загрузку аватара на php. Фото Как сделать загрузку аватара на php

Как вы можете заметить, название нашего стиля – ava_user_page.

С исходными данными определились, теперь займёмся выводом. В качестве подопытного шаблона я использую стандартный шаблон Bartik. Открываем файл

И используем следующий код, в том месте где вам необходимо вывести аватар, я его выведу в шапке сайта:

В результате чего мы получим вот такую картину:

Как сделать загрузку аватара на php. Смотреть фото Как сделать загрузку аватара на php. Смотреть картинку Как сделать загрузку аватара на php. Картинка про Как сделать загрузку аватара на php. Фото Как сделать загрузку аватара на php

Всё бы хорошо, но есть костыль, для анонимов мы получим ошибку, исправим эту проблему, просто допишем проверку на залогиность пользователя:

В результате для зарегистрированного пользователя у нас будет выводится его аватар, а для анонимного ничего. Теперь возникает другая проблема, ели аватар для зарегистрированного пользователя не загружен, то появится ошибка, давайте теперь и ее исправим. Для каждого загруженного изображения есть свой числовой id, соответственно если id нет (т.е возвращает FALSE), это значит и изображения нет, допишем и эту проверку

В результате такого небольшого сниппета, мы получили именно ту функциональность, которая была нам необходимо. Теперь для зарегистрированного пользователя который загрузил аватар у нас будет выводится его аватар на страницу с пропуском через указанный стиль изображения, а для пользователей которые зарегистрированы и не загрузили свой аватар, а так же для анонимных пользователей мы показывать ничего не будем. На этом думаю всё.

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *