Рейтинг как Вкурсе (Практически копия рейтинга Вконтакте)
Описание:
Привет всем пользователям uCodes. Хочу поделиться с Вами скриптом рейтинга пользователя на подобии Вконтакте. Сразу говорю, имеющийся на этом сайте Рейтинг как Вконтакте совершенно отличается от этого. Во первых тот скрипт устарел, а во вторых имеются серьёзные проблемы с его установкой. Скрипт имеет максимальный размер рейтинга 20000%. После чего пользователи не смогут голосовать за этого человека. Так же идет проверка заполнена информация пользователя полностью или нет, но о ней чуть позже.
Как установить?
Переходим непосредственно к установке. Предупреждаю за ранее, скрипт полностью рабочий! Если у Вас он работает не правильно, то это значит, что Вы его не правильно установили!
1. Установка стилей
Каждая полоса рейтинга имеет свой вид (свою цветовую гамму). Поэтому переходим по следующему пути:
Админ панель » Управление дизайном » Таблица стилей (CSS)
И вставляем туда следующий код:
.rateline:hover {cursor:pointer}
#rep_1 {width:0px;height:17px;border-top: 1px solid #C0CCD9;background:#DAE2E8;}
#rep_2 {width:200px;height:17px;border-top: 1px solid #E6E6E6;background:#F7F7F7;}
#rep_3 {width:0px;height:17px;border-top: 1px solid #CCC490;background:#E0D7A3;}
#rep_4 {width:200px;height:17px;border-top: 1px solid #E2DAA6;background:#F5EBBB;}
#rep_5 {width:0px;height:17px;border-top: 1px solid #B7AE77;background:#C7BD81;}
#rep_6 {width:200px;height:17px;border-top: 1px solid #CCC490;background:#E0D7A3;}
#rep_7 {width:0px;height:17px;border-top: 1px solid #998F55;background:#B4A968;}
#rep_8 {width:200px;height:17px;border-top: 1px solid #B7AE77;background:#C7BD81;}
#rep_9 {width:0px;height:17px;border-top: 1px solid #83793C;background:#A29755;}
#rep_10 {width:200px;height:17px;border-top: 1px solid #998F55;background:#B4A968;}
#rep_11 {width:0px;height:17px;border-top: 1px solid #655A19;background:#81773C;}
#rep_12 {width:200px;height:17px;border-top: 1px solid #83793C;background:#A29755;}
2. Полоса рейтинга
Теперь выбираем место, где будет находиться эта самая полоса рейтинга. Переходим на Персональную страницу пользователя.
Админ панель » Управление дизайном » Персональная страница пользователя
Далее мы будем работать с этой страницей, так что с нее никуда не переходим.
И так, находим место, где у нас с Вами будет отображаться рейтинг пользователя, например под аватаркой и вставляем туда следующий код:
<span id="ratenum">
<div style="position:absolute;padding-top:2px;width:200px;text-align:center;" id="rep_number"></div>
</span>
</div>
<div>
<table border="0" cellpadding="0" cellspacing="0" width="200px" height="18px">
<tr id="r0100" style="display:none;">
<td valign="top">
<div id="rep_1"></div>
</td>
<td valign="top">
<div id="rep_2"></div>
</td>
</tr>
<tr id="r100200" style="display:none;">
<td valign="top">
<div id="rep_3"></div>
</td>
<td valign="top">
<div id="rep_4"></div>
</td>
</tr>
<tr id="r200300" style="display:none;">
<td valign="top">
<div id="rep_5"></div>
</td>
<td valign="top">
<div id="rep_6"></div>
</td>
</tr>
<tr id="r300400" style="display:none;">
<td valign="top">
<div id="rep_7"></div>
</td>
<td valign="top">
<div id="rep_8"></div>
</td>
</tr>
<tr id="r400500" style="display:none;">
<td valign="top">
<div id="rep_9"></div>
</td>
<td valign="top">
<div id="rep_10"></div>
</td>
</tr>
<tr id="r500" style="display:none;">
<td valign="top">
<div id="rep_11"></div>
</td>
<td valign="top">
<div id="rep_12"></div>
</td>
</tr>
</table>
</div>
3. Скрипт
Теперь переходим к основной части, это скрипт. И так, для начала вставьте тут же рядом скрипт:
// Автор скрипта: Ваня Ефимов
function rep_load()
{
var email=<?if($_EMAIL_IS_VERIFIED$)?>20<?else?>0<?endif?>;
var avatar=<?if($_AVATAR$)?>25<?else?>0<?endif?>;
var about=<?if($_SIGNATURE$)?>10<?else?>0<?endif?>;
var icq=<?if($_ICQ$)?>10<?else?>0<?endif?>;
var www=<?if($_WWW$)?>15<?else?>0<?endif?>;
var city=<?if($_CITY$)?>10<?else?>0<?endif?>;
var bday=<?if($_BIRTHDAY$)?>5<?else?>0<?endif?>;
var gender=<?if($_GENDER_NAME$)?>5<?else?>0<?endif?>;
var information=avatar+icq+bday+gender+email+www+city+about;
var rate=<?if($_REPUTATION$)?>$_REPUTATION$<?else?>0<?endif?>;
var rep_1=information*2;
var rep_2=200-rep_1;
var rep_3=rate*2;
var rep_4=200-rep_3;
var rep_5=(rate-100)*2;
var rep_6=200-rep_5;
var rep_7=(rate-200)*2;
var rep_8=200-rep_7;
var rep_9=(rate-300)*2;
var rep_10=200-rep_9;
var rep_11=rate*0.01;
var rep_12=200-rep_11;
if (rate > 0 && rate <= 100 && information == 100)
{
$('#r100200').css('display','block');
$('#rep_3').css('width',''+rep_3+'px');
$('#rep_4').css('width',''+rep_4+'px');
$('#rep_number').css('color','#A39B66');
document.getElementById('rep_number').innerHTML=100+rate+'%';
}
else
{
if (rate > 100 && rate <= 200 && information == 100)
{
$('#r200300').css('display','block');
$('#rep_5').css('width',''+rep_5+'px');
$('#rep_6').css('width',''+rep_6+'px');
$('#rep_number').css('color','#8A8048');
document.getElementById('rep_number').innerHTML=100+rate+'%';
}
if (rate > 200 && rate <= 300 && information == 100)
{
$('#r300400').css('display','block');
$('#rep_7').css('width',''+rep_7+'px');
$('#rep_8').css('width',''+rep_8+'px');
$('#rep_number').css('color','#F8F7ED');
document.getElementById('rep_number').innerHTML=100+rate+'%';
}
if (rate > 300 && rate <= 400 && information == 100)
{
$('#r400500').css('display','block');
$('#rep_9').css('width',''+rep_9+'px');
$('#rep_10').css('width',''+rep_10+'px');
$('#rep_number').css('color','#F4F2E8');
document.getElementById('rep_number').innerHTML=100+rate+'%';
}
if (rate > 400 && information == 100)
{
$('#r500').css('display','block');
$('#rep_11').css('width',''+rep_11+'px');
$('#rep_12').css('width',''+rep_12+'px');
$('#rep_number').css('color','#F4F2E8');
document.getElementById('rep_number').innerHTML=100+rate+'%';
}
if (information < 100 || rate == 0)
{
$('#r0100').css('display','block');
$('#rep_1').css('width',''+rep_1+'px');
$('#rep_2').css('width',''+rep_2+'px');
$('#rep_number').css('color','#7790AE');
document.getElementById('rep_number').innerHTML=information+'%';
}
}
}
</script>
Теперь хочу обратить Ваше внимание на начало скрипта, а именно на код в выше упомянутом
var avatar=<?if($_AVATAR$)?>25<?else?>0<?endif?>;
var about=<?if($_SIGNATURE$)?>10<?else?>0<?endif?>;
var icq=<?if($_ICQ$)?>10<?else?>0<?endif?>;
var www=<?if($_WWW$)?>15<?else?>0<?endif?>;
var city=<?if($_CITY$)?>10<?else?>0<?endif?>;
var bday=<?if($_BIRTHDAY$)?>5<?else?>0<?endif?>;
var gender=<?if($_GENDER_NAME$)?>5<?else?>0<?endif?>;
var information=avatar+icq+bday+gender+email+www+city+about;
Я надеюсь что вы догадались, что это поля, заполненность которых дает определенное количество процентов рейтинга. Если Вы хотите добавить/убрать некоторые поля, обратите ваше внимание на оператор information, он строго должен быть равен 100!
И последнее что необходимо сделать на персональной страницу изменить
на
4. Ваши ошибки, из-за которых может не работать скрипт
а) Оператор information в скрипте не равен 100.
б) Вы вставили скрипт, и у вас должно быть например 126% рейтинга (т.е. Ваша репутация составляет 26), но показывается меньше 100% рейтинга (например 65%) и когда пользователи поднимают вам рейтинг, Вы видите все те же 65%. Убедитесь что Вы заполнили все анкетные данные указанные в скрипте!