Место пользователя в рейтинге для uCoz

Место пользователя в рейтинге для uCoz

14.12.201518514admin

Соскучились по скриптам? Всего неделю не зайдешь на сайт – уже пишут, что сайт умер, скатились, отдыхают и т.д. Предупреждаю, что сейчас я буду очень редко заходить на сайт, выход новых материалов теперь в большей степени зависит от других администраторов.

Извините за такое большое вступление не по теме.

Топ пользователей достаточно популярная тема для сайтов на uCoz, но похоже, все забыли про то, что этот топ сделан для пользователей. Одни выводят топ на главной странице, у нас он вообще где-то закопан. В основном, о своем месте в рейтинге знает лишь первая пятерка людей, а как же остальные? Я предлагаю вам свое решение, показывать место пользователя в рейтинге на персональной странице.

В моем примере получить точное положение в рейтинге можно только у первой сотни пользователей, для остальных будем показывать что-то типа 100+. Дело в том, что для этого скрипта тоже придется использовать информер, там есть ограничение на количество позиций. Принцип следующий. Cоздаем на JavaScript массив, который содержит все ID пользователей из Топ-100, проверяем наличие нужного ID, выводим порядковый номер этого ID.

Благодаря такому скрипту можно сделать также значок Топ-100 для пользователей из рейтинга, как на PromoDJ например:

PromoDJ топ-100


Установка

1. Создайте информер пользователей. Вместо репутации может быть ваш критерий для ранжирования пользователей:

Информер рейтинг пользователей

2. В шаблоне информера Шаблон информера вставьте код:

Код
'u$USER_ID$',

3. На персональную страницу вставить:

Код
<div class="uhidden">$MYINF_3$</div>

<script type="text/javascript">
function usfind(array, value) {
  if (array.indexOf) { // если метод существует
  return array.indexOf(value);
  }

  for (var i = 0; i < array.length; i++) {
  if (array[i] === value) return i;
  }

  return -1;
}

var userNumbers = [$MYINF_3$'0'];

var userNumber = usfind(userNumbers, 'u$_USER_ID$');

if(userNumber == -1) {userNumber = '100+'} else {userNumber = userNumber+1}

document.write('Место пользователя в рейтинге <b>'+userNumber+'</b>')
</script>

$MYINF_3$ – вставьте свой ID информера

$_USER_ID$ – ID пользователя, страницу которого просматриваем. Если заменить на $USER_ID$, то будет показываться позиция в рейтинге текущего пользователя, который просматривает страницы сайта (соответственно, можно вставить код на любую другую страницу сайта).




Сохраните в социальную сеть
Комментарии (4)
Неплохо бы было демо-страницу прикрепить.
Хотя,и так хорошо)
0
Денис Абдуллин 15.12.2015 в 08:10
Зачем демо, на выходе у вас тупо цифра будет.
1
Den 28.12.2015 в 12:49Спам
А как можно сделать место в рейтинге для информера? просто чило нужно
0
Алексей 26.05.2016 в 22:36Спам
Хм, сделал все один к одному. нет цифры..
0
Чтобы оставить комментарий под этой публикацией,
зарегистрируйтесь или войдите.
Рейтинг лучших сервисов для самостоятельного создания сайта.
Лучшие конструкторы
Легко! Если пользоваться нашими советами.
Создать сайт