[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Скрипты для uCoz » Пользователи » Управление аватаром (с помощью условных операторов системы Юкоз)
Управление аватаром
SmaiLДата: Вторник, 05.10.2010, 03:32 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 48
Награды: 0
Репутация: 0
Статус: Offline
Думаю, что многие, кто делал на своём сайте блок для отображения информации о пользователе знают ("Личные данные" на нашем сайте, например), что для отображения аватара достаточно просто использовать код $USER_AVATAR_URL$ (речь сейчас идёт об отображении на страницах сайта, ибо на форуме и в профилях используются другие коды), который просто нужно добавить в качестве ссылки:
Code
<img src="$USER_AVATAR_URL$" border="0">

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

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$, который определяет статус пользователя на момент посещения (гость\пользователь). Картинку для данного случая можно взять такую же, как и в примере выше, но лучше добавить "аватарку" именно для гостей

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 уровней вложения.

Вы думаете - это всё? Не тут-то было! Ведь для пользователей, у которых нет аватара, можно ещё выводить картинку-заглушку в зависимости от их пола. То есть, для мальчиков - один тип ( ), для девочек - другой ( ) И тут нам на помощь придёт третий условный оператор - $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?> <!-- конец оператора -->

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

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

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

 
Форум » Скрипты для uCoz » Пользователи » Управление аватаром (с помощью условных операторов системы Юкоз)
  • Страница 1 из 1
  • 1
Поиск: