Суть. За выставленное количество просмотров темы присваивается звезда, которая отображается под названием темы. Поддерживается только prosilver.

Код: Выделить всё

<script type="text/javascript">
of_Stars=500; //Звёзд за количество просмотров
var records=0;
var Select=$(".forumbg ul");
var Rang_TR=[];
Select.find("dd.views").each(function(){
L=parseFloat($(this).text());
if(!($(this).parent('ul').find('.row').length)){
Rang_TR[L]=true;
if(L>records){records=L;};
L=Math.round(L/of_Stars);
if(L){
var SS='',
s='<img src="http://forumimage.ru/uploads/20131210/138668688755606437.png" />'
for(i=0; i<L; i++){
SS+=s;
}
$(this).parent('dl').find('dt').append('<span class="cssStars">'+SS+'</span>');
$('.cssStars').css({'display':'block'});
}
};
});
</script>
Скрипт не мой, единственное, что малость причёсанный мною под phpbb и конкретно prosilver. Поэтому точность подсчёта звёзд не гарантирую.
Количество просмотров за одну звезду выставляется в первой строке скрипта, помеченного комментарием.
В данном виде звёзды будут добавляться под названием темы, автором и временем, можно сказать - в первый столбик. При добавлении звёзд до вертикальной черты отделяющих количество просмотров сообщения, звёзды переносятся на новую строку:
Изображение
Так же есть вариант с добавлением звёзд во всю длину:
Изображение
Тогда скрипт будет выглядеть так:

Код: Выделить всё

<script type="text/javascript">
of_Stars=500; //Звёзд за количество просмотров
var records=0;
var Select=$(".forumbg ul");
var Rang_TR=[];
Select.find("dd.views").each(function(){
L=parseFloat($(this).text());
if(!($(this).parent('ul').find('.row').length)){
Rang_TR[L]=true;
if(L>records){records=L;};
L=Math.round(L/of_Stars);
if(L){
var SS='',
s='<img src="http://forumimage.ru/uploads/20131210/138668688755606437.png" style="width:16px; height:16px;"/>'
for(i=0; i<L; i++){
SS+=s;
}
$(this).parent('dl').append('<dd class="stars">'+SS+'</dd>');
$('.stars').css({
'float' : 'none',
'clear' : 'both',
'padding-left' : '45px'
});
}
};
});
</script>
Скрипты устанавливаются в overall_footer.html перед </body>.

Ну и пара звёзд в пример:
Изображение Изображение
Комментарии: 15

CabinetAdmin 13 ноя 2016, 08:27 Сообщение

Можно поставить значение побольше:

Код: Выделить всё

of_Stars=500; //Звёзд за количество просмотров
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

Похожие темы