Звезда за определённое количество просмотров темы

Описание: Всё что относится к phpBB и его модификациям
Модератор: Aleksandr

SJplayer M
Автор темы, Модератор
Модератор
Аватара
SJplayer M
Автор темы, Модератор
Модератор
Сообщения: 196
Зарегистрирован: 25 мая 2013
С нами: 10 лет 10 месяцев

#1 SJplayer » 8 марта 2014, 18:09

Автор: CabinetAdmin

Изображение


Суть. За выставленное количество просмотров темы присваивается звезда, которая отображается под названием темы. Поддерживается только 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


PS: Скрипты устанавливаются в overall_footer.html перед </body>.

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


  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «phpBB»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 8 гостей