Страница 1 из 11
Форум » Web дизайн » Ucoz » Управление аватаром (с помощью условных операторов системы Юкоз)
Управление аватаром
Reddy Дата: Среда, 18.08.2010, 15:59 | Сообщение # 1
Reddy
Новичок
Сообщений: 129
Репутация: 14
Страна: Латвия
Статус: Offline
Думаю, что многие, кто делал на своём сайте блок для отображения информации о пользователе знают ("Личные данные" на нашем сайте, например), что для отображения аватара достаточно просто использовать код $USER_AVATAR_URL$ (речь сейчас идёт об отображении на страницах сайта, ибо на форуме и в профилях используются другие коды), который просто нужно добавить в качестве ссылки:

Code
<img src="$USER_AVATAR_URL$" border="0">

Отлично, аватар выводится - НО! - только для зарегистрированных пользователей, и для тех, у кого есть аватарка. Что же делать если, например, пользователь не указал\не загрузил аватар? Тут нам на помощь приходят условные операторы <?if($код$)?>, <?else?> и <?endif?>. Естественно, ещё понадобиться картинка-заглушка, которая и будет выводится при условии отсутствия аватара в профиле пользователя.

Code
<?if($USER_AVATAR_URL$)?> <!-- Проверка наличия аватары, если нет - переход к else -->
<img src="$USER_AVATAR_URL$" border="0">
<?else?> <!-- при отсутствии аватара выводить заглушку -->
<img src="/img/noavatar.gif" border="0" height="100" width="100">
<?endif?> <!-- конец оператора -->

А как же быть, если нужно вывести аватарку для гостей (как на нашем сайте)? Тут нам поможет код $USER_LOGGED_IN$, который определяет статус пользователя на момент посещения (гость\пользователь). Картинку для данного случая можно взять такую же, как и в примере выше, но лучше добавить "аватарку" именно для гостей yes

Code
<?if($USER_LOGGED_IN$)?> <!-- Пользователь вошёл в систему, если нет - переход к else -->
 <?if($USER_AVATAR_URL$)?> <!-- Проверка наличия аватары, если нет - переход к else -->
 <img src="$USER_AVATAR_URL$" border="0">
 <?else?> <!-- при отсутствии аватара выводить заглушку -->
 <img src="/img/noavatar.gif" border="0" height="100" width="100">
 <?endif?> <!-- конец оператора -->
<?else?> <!-- Гость -->
<img src="/img/guest.gif" border="0" height="100" width="100">
<?endif?> <!-- конец оператора -->

Обратите внимание, что один оператор вложен в другой. В системе Ucoz допускается до 10 уровней вложения. yes

Вы думаете - это всё? Не тут-то было! Ведь для пользователей, у которых нет аватара, можно ещё выводить картинку-заглушку в зависимости от их пола. То есть, для мальчиков - один тип ( bb ), для девочек - другой ( flirt ) :) И тут нам на помощь придёт третий условный оператор - $USER_GENDER_ID$, который определяет ID пола пользователя, который зашел на сайт. Если ID=1, то пользователь - мужского пола, если ID=2 - женского

Code
<?if($USER_LOGGED_IN$)?> <!-- Пользователь вошёл в систему, если нет - переход к else -->
 <?if($USER_AVATAR_URL$)?> <!-- Проверка наличия аватары, если нет - переход к else -->
 <img src="$USER_AVATAR_URL$" border="0">
 <?else?><!-- при отсутствии аватара выводить заглушку -->
  <?if($USER_GENDER_ID$='2')?> <!-- определяем пол пользователя. Если пол мужской - переход к else -->
  <img src="/img/noavatar_w.gif" border="0" height="100" width="100">
  <?else?><!-- аватар для пользователей мужского пола -->
  <img src="/img/noavatar_m.gif" border="0" height="100" width="100">
  <?endif?> <!-- конец оператора -->
 <?endif?>
<?else?> <!-- Гость -->
<img src="/img/guest.gif" border="0" height="100" width="100">
<?endif?> <!-- конец оператора -->

Естественно, что пол будет отображаться корректно только в том случае, если он правильно указан в профиле ;)

Надеюсь, что условные операторы не сломают Вам мозг, а станут добрыми помощниками в деле сайтостроительства :) yes

З.Ы. Думаю, что теперь вам не составит добавить такие же фишки в профиль пользователя и на форум B)

спец по кнопачкам
 
Форум » Web дизайн » Ucoz » Управление аватаром (с помощью условных операторов системы Юкоз)
Страница 1 из 11
Поиск:
Rambler's Top100 Рейтинг@Mail.ru Яндекс.Метрика
Полное или частичное копирование материалов только с указанием гиперссылки на www.otherside.ws

© 2010-2017 Other Side | Хостинг от uCoz