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

Всё что относится к phpBB и его модификациям

Модератор: Aleksandr

Аватара
Автор темы
SJplayer M
Модератор
Модератор
Сообщения: 181
Репутация: 26
С нами: 5 лет 5 месяцев

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

Сообщение #1 SJplayer » 8 марта 2014, 18:09

Проверено на работоспособность в phpbbex


Автор: 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»

Кто сейчас на форуме

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