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

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

02015-12-1443384Денис Абдуллин

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

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

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


Создать сайт в uKit Нужен классный сайт для бизнеса?
Воспользуйтесь сервисом uKit. Никакого кода!
Комментарии (4)
Den 2015-12-28 в 12:49 / МатериалСпам
А как можно сделать место в рейтинге для информера? просто чило нужно
0
Денис Абдуллин 2015-12-15 в 08:10 / Материал
Зачем демо, на выходе у вас тупо цифра будет.
1
Вячеслав Лупанов 2015-12-14 в 22:01 / МатериалСпам
Неплохо бы было демо-страницу прикрепить.
Хотя,и так хорошо)
0
Алексей 2016-05-26 в 22:36 / МатериалСпам
Хм, сделал все один к одному. нет цифры..
0
Чтобы оставить комментарий или отзыв под этой публикацией, войдите или зарегистрируйтесь.