Место пользователя в рейтинге для uCoz
Соскучились по скриптам? Всего неделю не зайдешь на сайт – уже пишут, что сайт умер, скатились, отдыхают и т.д. Предупреждаю, что сейчас я буду очень редко заходить на сайт, выход новых материалов теперь в большей степени зависит от других администраторов.
Извините за такое большое вступление не по теме.
Топ пользователей достаточно популярная тема для сайтов на uCoz, но похоже, все забыли про то, что этот топ сделан для пользователей. Одни выводят топ на главной странице, у нас он вообще где-то закопан. В основном, о своем месте в рейтинге знает лишь первая пятерка людей, а как же остальные? Я предлагаю вам свое решение, показывать место пользователя в рейтинге на персональной странице.
В моем примере получить точное положение в рейтинге можно только у первой сотни пользователей, для остальных будем показывать что-то типа 100+. Дело в том, что для этого скрипта тоже придется использовать информер, там есть ограничение на количество позиций. Принцип следующий. Cоздаем на JavaScript массив, который содержит все ID пользователей из Топ-100, проверяем наличие нужного ID, выводим порядковый номер этого ID.
Благодаря такому скрипту можно сделать также значок Топ-100 для пользователей из рейтинга, как на PromoDJ например:
Установка
1. Создайте информер пользователей. Вместо репутации может быть ваш критерий для ранжирования пользователей:
2. В шаблоне информера вставьте код:
3. На персональную страницу вставить:
<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$
, то будет показываться позиция в рейтинге текущего пользователя, который просматривает страницы сайта (соответственно, можно вставить код на любую другую страницу сайта).