Перейти к публикации

Рекомендованные сообщения

Хотелось бы видеть рейтинг новости не просто в виде звездочек, а в виде реальной оценки (сума голосов / количество проголосовавших).

С одной стороны вроде все кажется простым - при выводе рейтинга добавить переменную, значением которой как раз и будет частное от суммы голосов на количество проголосовавших... но несколько не понятна конструкция в function.php:

if ($rating) $rating = round(($rating /  $vote_num), 0); else $rating = 0;

$rating = $rating * 17;

Зачем умножать на 17? И какие-то странные значения &rating и $vote_num... может я что-то пропустил и упустил из вида запрос, который делает выборку из таблицы? Совсем запутался...

Ссылка на сообщение
Поделиться на других сайтах

Зачем умножать на 17

ширина одной звездочки 17 пикселей, рейтинг то у нас графический.

Ссылка на сообщение
Поделиться на других сайтах
  • 2 месяца спустя...

Не хотел начинать новую тему, их по рейтингу и так немало.

Как вывести реальную среднюю оценку, а не звездочки я разобрался. Но не могу понять - сортировка новостей по рейтингу идет что-ли по общей суме балов, а не посредней оценке? :huh: Можно ли как-то сделать сортировку по среднему балу? Версия 5.3

Ссылка на сообщение
Поделиться на других сайтах

сортировка новостей по рейтингу идет что-ли по общей суме балов

конечно по общей сумме баллов

Ссылка на сообщение
Поделиться на других сайтах

Спасибо. А можно ли тогда как-то выводить не среднюю оценку а общее количество балов?

----

Уже не надо, нашел сам :P

Изменено пользователем Torba
Ссылка на сообщение
Поделиться на других сайтах
  • 4 года спустя...

Здравствуйте!

Вопрос в тему: скажите, пожалуйста, рейтинг через какое-то время обнуляется?

Почему спрашиваю? Дело в том, что новости, у которых ранее (два-три а то и более месяцев назад) рейтинг был высокий, а сейчас он нулевой.

Я так понимаю, этот рейтинг (звездочки) и формирует блок "Популярные новости"? Или же блок "Популярные новости" формируется по количеству просмотров?

Прошу прощения за каламбур.

Ссылка на сообщение
Поделиться на других сайтах

LADYX, с topnews не путаете? http://forum.dle-new...=1

Рейтинг сам не обнуляется его можно обнулить принудительно в админпанели в списке статей на сайте, в выпадающем меню. Популярные новости формируются в совокупности. Сначала по рейтингу, если рейтинг одинаков у новостей, то по кол-ву просмотров.

Ссылка на сообщение
Поделиться на других сайтах

LADYX, с topnews не путаете? http://forum.dle-new...=1 Рейтинг сам не обнуляется его можно обнулить принудительно в админпанели в списке статей на сайте, в выпадающем меню. Популярные новости формируются в совокупности. Сначала по рейтингу, если рейтинг одинаков у новостей, то по кол-ву просмотров.

Да, теперь все понятно. Простите, пожалуйста, все время здесь путаюсь.

А вот рейтинг (звездочки) - есть у нас такие новости, у которых ранее (два-три а то и более месяцев назад) рейтинг был высокий, а сейчас он нулевой. Принудительно в админпанели мы рейтинг новостей не обнуляли. Вот и интересно, может быть рейтинг по истечении какого-либо времени обнуляется автоматически?

Ссылка на сообщение
Поделиться на других сайтах

Вот и интересно, может быть рейтинг по истечении какого-либо времени обнуляется автоматически?

нет такого в скрипте и никогда не было. Ничего автоматически не обнуляется.

Ссылка на сообщение
Поделиться на других сайтах

нет такого в скрипте и никогда не было. Ничего автоматически не обнуляется.

а такой вопрос: если рейтинг был выставлен только в кратких новостях, а после этого администратор в админке запретил выставление рейтинга в кратких новостях, то в таком случае рейтинг, который был выставлен в кратких новостях обнулится?

Ссылка на сообщение
Поделиться на других сайтах

а такой вопрос: если рейтинг был выставлен только в кратких новостях, а после этого администратор в админке запретил выставление рейтинга в кратких новостях, то в таком случае рейтинг, который был выставлен в кратких новостях обнулится?

По сути, краткая и полная новость - одна и та же новость. Неважно где вы ставите рейтинг, то ли в краткой, то ли в полной. Рейтинг заносится в базу для каждой новости.

Ссылка на сообщение
Поделиться на других сайтах

Неужели никто не знает, как сделать, чтобы сортировка новостей по рейтингу шла по средней оценке?

Очень надо. Подскажите, пожалуйста.

Ссылка на сообщение
Поделиться на других сайтах

Как сделать рейтинг цифрами, то есть рейтинг выводится звездочками, а рядом с звездочками пишется, например 4.3 из 5 баллов (проголосовало 200 человек), как такое сделать?

Ссылка на сообщение
Поделиться на других сайтах

chelnovosti_ru, стандартно это и так выводится. Смотрите код своего шаблона. Скорее всего это просто прячется средствами CSS

Ссылка на сообщение
Поделиться на других сайтах

Стандартно выводится в виде картинки, а хотелось бы чтобы графически и рядом цифры были.

Ссылка на сообщение
Поделиться на других сайтах

chelnovosti_ru, в DLE 9.4 уже вот так:

34. Внесены изменения в алгоритмы показа рейтинга новостей при просмотре полных новостей. Тег {rating} выводит только непосредственно графический рейтинг новости, а для вывода количества проголосовавших пользователей, для шаблона полной новости (fullstory.tpl) добавлен новый тег {vote-num} который и выводит количество пользователей, выставивших рейтинг для данной новости. Тем самым оформление новостей стало гибче и данная информация может выводиться отдельно от самого рейтинга.

http://dle-news.ru/release/1436-datalife-engine-v94-final-release.html

а рядом с звездочками пишется, например 4.3 из 5 баллов
Стандартными средствами DLE так не сделать Изменено пользователем WWW.ZEOS.IN
Ссылка на сообщение
Поделиться на других сайтах

Может знаешь, как можно сделать рейтинг на подобие этого сайта http://www.vetka.ch/cinema/todaycinema/13-agent-dzhonni-inglish-perezagruzka.html

Есть код, но он не работает.

function ShowRating($id, $rating, $vote_num, $allow = true) {

        global $lang;


        if( $rating ) $rating = round( ($rating / $vote_num), 1 );

        else $rating = 0;

        $rating1 = str_replace( ",", ".", $rating );

        $rating2 = $rating1 * 10;


        if( ! $allow ) {


                $rated = <<<HTML

<div class="rating" style="float:left;">

                <ul class="unit-rating">

                <li class="current-rating" style="width:{$rating2}%;">{$rating2}</li>

                </ul>

</div><div class="rating" style="float:left; padding-top:2px; width:auto;"> {$rating1}/10  ({$lang['voten']} {$vote_num})</div>

HTML;


                return $rated;

        }


        $rated .= <<<HTML

<div id='ratig-layer'><div class="rating" style="float:left;">

                <ul class="unit-rating">

                <li class="current-rating" style="width:{$rating2}%;">{$rating2}</li>

                <li><a href="#" title="1" class="r1-unit" onclick="doRate('1', '{$id}'); return false;">1</a></li>

                <li><a href="#" title="2" class="r2-unit" onclick="doRate('2', '{$id}'); return false;">2</a></li>

                <li><a href="#" title="3" class="r3-unit" onclick="doRate('3', '{$id}'); return false;">3</a></li>

                <li><a href="#" title="4" class="r4-unit" onclick="doRate('4', '{$id}'); return false;">4</a></li>

                <li><a href="#" title="5" class="r5-unit" onclick="doRate('5', '{$id}'); return false;">5</a></li>

                <li><a href="#" title="6" class="r6-unit" onclick="doRate('6', '{$id}'); return false;">6</a></li>

                <li><a href="#" title="7" class="r7-unit" onclick="doRate('7', '{$id}'); return false;">7</a></li>

                <li><a href="#" title="8" class="r8-unit" onclick="doRate('8', '{$id}'); return false;">8</a></li>

                <li><a href="#" title="9" class="r9-unit" onclick="doRate('9', '{$id}'); return false;">9</a></li>

                <li><a href="#" title="10" class="r10-unit" onclick="doRate('10', '{$id}'); return false;">10</a></li>

                </ul>

</div><div class="rating" style="float:left; padding-top:2px; width:auto;"> {$rating1}/10  ({$lang['voten']} {$vote_num})</div></div>

HTML;


        return $rated;

}

function ShortRating($id, $rating, $vote_num, $allow = true) {

        global $lang;


        if( $rating ) $rating = round( ($rating / $vote_num), 1 );

        else $rating = 0;

        $rating = str_replace( ",", ".", $rating );

        $rating = $rating * 10;


        if( ! $allow ) {


                $rated = <<<HTML

<div class="rating" style="float:left;">

                <ul class="unit-rating">

                <li class="current-rating" style="width:{$rating}%;">{$rating}</li>

                </ul>

</div>

HTML;


                return $rated;

        }


        $rated = "<div id='ratig-layer-" . $id . "'>";


        $rated .= <<<HTML

<div class="rating" style="float:left;">

                <ul class="unit-rating">

                <li class="current-rating" style="width:{$rating}%;">{$rating}</li>

                <li><a href="#" title="1" class="r1-unit" onclick="doRate('1', '{$id}'); return false;">1</a></li>

                <li><a href="#" title="2" class="r2-unit" onclick="doRate('2', '{$id}'); return false;">2</a></li>

                <li><a href="#" title="3" class="r3-unit" onclick="doRate('3', '{$id}'); return false;">3</a></li>

                <li><a href="#" title="4" class="r4-unit" onclick="doRate('4', '{$id}'); return false;">4</a></li>

                <li><a href="#" title="5" class="r5-unit" onclick="doRate('5', '{$id}'); return false;">5</a></li>

                <li><a href="#" title="6" class="r6-unit" onclick="doRate('6', '{$id}'); return false;">6</a></li>

                <li><a href="#" title="7" class="r7-unit" onclick="doRate('7', '{$id}'); return false;">7</a></li>

                <li><a href="#" title="8" class="r8-unit" onclick="doRate('8', '{$id}'); return false;">8</a></li>

                <li><a href="#" title="9" class="r9-unit" onclick="doRate('9', '{$id}'); return false;">9</a></li>

                <li><a href="#" title="10" class="r10-unit" onclick="doRate('10', '{$id}'); return false;">10</a></li>

                </ul>

</div>

HTML;


        $rated .= "</div>";


        return $rated;

}

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...