Собственный no-avatar v2


Собственный no-avatar v2

486
9.2 из 10
Проголосовало: 9








Идея взята с этого (http://webo4ka.ru/load/skripty_i_modifikacii_dlja_ucoz/sobstvennyj_no_avatar/46-1-0-4364) материала.
В данной версии используется лишь одно поле для выбора цветов стандартного аватара.
Я думаю, расписывать особо много тут не нужно, поэтому перейдем сразу к делу.

Заходим в "ПУ » Пользователи » Настройки модуля" и включаем поле "Jabber идентификатор".
Далее заходим в "ПУ » Настройки » Замена стандартных надписей" открываем спойлер "ФОРМА РЕГИСТРАЦИИ ПОЛЬЗОВАТЕЛЕЙ НА САЙТЕ [+]" и меняем название поля "Jabber идентификатор" на "Цвета стандартного аватара", либо на любое другое на свое усмотрение.

Этот код вставляем в место, где хотим видеть no-avatar (обращаю внимание, что не на всех страницах будет работать AOL идентификатор, либо он обозначается по-другому):
Код

<div class="letter-ava" style="background-color: <?substr($_AOL$,0,7)?>;">  
  <div class="letter" style="color: <?substr($_AOL$,-7)?>;"><?substr($_USERNAME$,0,1)?></div>  
  </div>


Вставляем в CSS:
Код

.letter-ava {  
  width: 150px;  
  height: 150px;  
  background-color: #000000; /* стандартный цвет фона аватара */  
  font-size: 0.001px;  
  }  
  .letter-ava:before {  
  content: '';  
  display: inline-block;  
  height: 100%;  
  vertical-align: middle;  
  }  
  .letter-ava .letter {  
  color: #ffffff; /* стандартный цвет буквы аватара */  
  font-size: 61px;  
  text-align: center;  
  vertical-align: middle;  
  display: inline-block;  
  width: 100%;  
  max-width: 100%;  
  box-sizing: border-box;  
  }


Вставляем в "Страницу редактирования данных пользователя" перед закрывающим тегом </body>:
Код

<script>  
  $(document).ready(function(){  
  $('#siF3').attr('readonly',true); // делаем поле только для чтения  
  $('#siF3').hide(); // скрываем поле  
  var ava_color_bg_def = '#ff8040'; // стандартный цвет фона  
  var ava_color_lt_def = '#ffffff'; // стандартный цвет буквы  
  $('#siF3').after('<div class="letter-ava"><div class="letter"><?substr($USERNAME$,0,1)?></div></div><br><input id="ava-color-bg" type="color" value="'+ava_color_bg_def+'" /> <input id="ava-color-lt" type="color" value="'+ava_color_lt_def+'" />'); // добавляем предпросмотр аватара и кнопки выбора цвета  
  var ava_colors = $('#ava-color-bg').val()+','+$('#ava-color-lt').val(); // записываем в переменную стандартные значения кнопок цвета  
  if ($('#siF3').val()!='') { // если поле не пустое  
  ava_colors = $('#siF3').val(); // записываем в переменную значение поля  
  $('#ava-color-bg').val(ava_colors.substr(0,7)); // присваиваем значение для кнопки выбора цвета фона  
  $('#ava-color-lt').val(ava_colors.substr(-7)); // присваиваем значение для кнопки выбора цвета буквы  
  $('.letter-ava').css('background-color',ava_colors.substr(0,7)); // меняем цвет фона на предпросмотре  
  $('.letter-ava .letter').css('color',ava_colors.substr(-7)); // меняем цвет буквы на предпросмотре  
  } else { // иначе, если поле пустое  
  $('#siF3').val(ava_colors); // записываем в поле стандартные значения цветов  
  }  
  $('#ava-color-bg').change(function(){ // выбор цвета фона  
  ava_colors = $('#ava-color-bg').val()+','+$('#ava-color-lt').val(); // записываем в переменную цвет фона и буквы  
  $('#siF3').val(ava_colors); // записываем в поле значения цветов  
  $('.letter-ava').css('background-color',ava_colors.substr(0,7)); // меняем цвет фона на предпросмотре  
  $('.letter-ava .letter').css('color',ava_colors.substr(-7)); // меняем цвет буквы на предпросмотре  
  });  
  $('#ava-color-lt').change(function(){ // выбор цвета буквы  
  ava_colors = $('#ava-color-bg').val()+','+$('#ava-color-lt').val(); // записываем в переменную цвет фона и буквы  
  $('#siF3').val(ava_colors); // записываем в поле значения цветов  
  $('.letter-ava').css('background-color',ava_colors.substr(0,7)); // меняем цвет фона на предпросмотре  
  $('.letter-ava .letter').css('color',ava_colors.substr(-7)); // меняем цвет буквы на предпросмотре  
  });  
  });  
  </script>

Для удобства дал комментарий к каждой строке скрипта.
Не мастер js, поэтому написал как смог. Если кто сможет сократить данный код, то всё в ваших руках smile
Автор публикации: Загрузка
Загрузка
lifee, это его n материал
  • Всего комментариев: 6

lifee
0
lifee написал: Написано 12 Февраля 2016 в 21:31
Комментарий №5
Блин, только сейчас доперло, что можно было всё это редактировать в "Форма редактирования персональных данных" xD
Ну да ладно)

Вовчик
0
Вовчик написал: Написано 12 Февраля 2016 в 20:59
Комментарий №1
lifee, красава, что сделал из одного поля! держи +500 репы)

lifee
0
lifee написал: Написано 12 Февраля 2016 в 21:03
Комментарий №2
Спасибо happy
А я еще в новость добавлял второе изображение, где было показано, что цвет выбирается колорпикером.

Вовчик
0
Вовчик написал: Написано 12 Февраля 2016 в 21:05
Комментарий №3
загрузилось всего одно изображение((
скинь изображение мне в лс, я вставлю его...
p.s. а что у тебя сайта нет? источник к такому материалу нужен biggrin

lifee
0
lifee написал: Написано 12 Февраля 2016 в 21:18
Комментарий №4
Сайт есть, но у него другая тематика)

Вовчик
0
Вовчик написал: Написано 12 Февраля 2016 в 21:34
Комментарий №6
ну ладно smile

  • Оставить комментарий:
Добавлять комментарии могут только зарегистрированные пользователи.
Регистрация | Вход
Меню сайта
Категории
Для помощи создания сайта uCoz 25
Скрипты и модификации для Ucoz 2113
Шаблоны форумов Ucoz 28
Шаблоны сайтов Ucoz 431
Авторство Webo4ki 309
php скрипты для ucoz 57
Графика для uCoz 40
Мини-чат
Последние комментарии
  • sasha2016tv написал:
  • Хороший скрипт
    Ох. Вижу, что обсуждение очень старое. Но!
    На других CMS так же будет все это реализовано. На нормальных CMS.
    Такое решение может подойти лишь для landing сайтов. Но и то, не думаю, что там кто то заморачивается в написании какого либо контроллера генерирования шаблона и используют прямо в лоб чистый HTML, поэтому и будут для каждой страницы свои блоки делать.

    Поэтому лучше тут все же дописать решение именно для ucoz без загрузки этих лишних блоков на странице. Ведь используя условные операторы этот код даже не будет прогружаться на странице. (Лол. Это ж доли секунд загрузки...) И что? Но давайте делать оптимальнее
    Моё авторство:)
  • 1488 написал:
  • 1488 написал:
  • Смысл исходный код? он возвращает после обновление страницы на то положение которое было... или как?
  • 1488 написал:
  • как поставить галки как скрине?
    а то невозможно поставить...
    Последние темы
    Опрос
    229
    А
    Р
    Что произойдёт: $("#...
    Статистика
    Анализ интернет сайта
    0
    онлайн
    0
    наших
    0
    чужих
    Онлайн всего: 3
    Гостей: 2
    Пользователей: 1
    0
    Сегодня были
    Топ пользователей: