Звездная система оценки статьи

InstantCMS 2.X
#1 19 июня 2019 в 09:54
Здравствуйте, при оценки статьи звездами, должно ли рядом со звездами быть показана средняя оценка цифрами и количество проголосовавших или этого по умолчанию нет?
#2 19 июня 2019 в 09:59


Здравствуйте, при оценки статьи звездами, должно ли рядом со звездами быть показана средняя оценка цифрами и количество проголосовавших или этого по умолчанию нет?

SALIK
Можно посмотреть как это устроено в стандартной оценке стрелочками и так же сделать для звёздочек.
#3 19 июня 2019 в 13:33

Можно посмотреть как это устроено в стандартной оценке стрелочками и так же сделать для звёздочек.

Анна
Эх, если бы еще в php понимать получше))
А вот, кстати гугл в поиске показывает сколько у статьи голосов и сколько голосовавших, от кда то он вытягивает эти данные, хм shock
#4 19 июня 2019 в 16:52
В \templates\шаблон\controllers\rating\widget_stars.tpl.php находите перечисление svg и после последнего
  1.  
  2. <svg class="star rating" data-rating="5">
  3. <polygon points="9.9, 1.1, 3.3, 21.78, 19.8, 8.58, 0, 8.58, 16.5, 21.78"/>
  4.  
перед </div>
вставляете вывод средней оценки, например так
  1. <span class="overall_rating"><?php echo round($current_rating); ?></span>
#5 19 июня 2019 в 17:23

<span class="overall_rating"><?php echo round($current_rating); ?></span>

Dezerit
Спасибо, а можно еще вывести количество оценивших людей? И Есть ли возможность не количество звезд, как в данном примере вывести, а более точный рейтинг, к примеру проголосовал 1 человека 5, и один на 4, средний рейтинг 4.5?
#6 20 июня 2019 в 02:33
SALIK, думаю так сделать нельзя без серьезного изменения функционала в компоненте рейтинга.
#8 21 июня 2019 в 13:05

Не просто "звёздная", а фантастическая система оценки:
instantcms.ru/addons/pplist.html

Олег Васильевич я

Не просто "звёздная", а фантастическая система оценки:
instantcms.ru/addons/pplist.html

Олег Васильевич я
Это немного не то...

SALIK, думаю так сделать нельзя без серьезного изменения функционала в компоненте рейтинга.

Dezerit
Но гугл то от куда то знает сколько человек голосовало, значит где-то эта циферка прячется… Про средний рейтинг наверное да, менять функционал, а вот количество человек былоб интересно вытащить, можно конечно включить в настройках "показывать проголосовавших", но тогда будет при нажатии показывать тех, кто голосовал, а от этого бы не хотелось, а только количество бы видеть.

#9 21 июня 2019 в 20:15
Общее число голосов
  1. <?php echo $total_voted; ?>
Слова "голос, голосов и т.д." в языковых файлах компонента рейтинг/и основном не нашел. Их или придется добавлять самому или прописывать прямо в файле вывода.
#10 24 июня 2019 в 16:21
Вот этот
  1. <span class="overall_rating"><?php echo round($current_rating); ?></span>
Вставляю после
  1. <svg class="star rating" data-rating="5">
  2. <polygon points="9.9, 1.1, 3.3, 21.78, 19.8, 8.58, 0, 8.58, 16.5, 21.78"/>
перед </div> Оно показывает циферку, а
  1. <?php echo $total_voted; ?>
Этот код я видел в файле \templates\шаблон\controllers\rating\widget_stars.tpl.php только не понял как сделать, чтоб он тоже цифру отдавал?
#11 26 июня 2019 в 19:10
SALIK, по идее он и выведет количество голосов.
#12 5 июля 2019 в 12:49

SALIK, по идее он и выведет количество голосов.

Dezerit
Дак а куда его вставить правильно?
#13 5 июля 2019 в 13:41
Так надо?


Если да, то в файле templates/default/controllers/rating/widget_stars.tpl.php добавить код
  1. <?php $t_v = cmsCore::getModel('rating')->filterEqual('target_id', $target_id)->getCount('rating_log', 'target_id'); ?>
  2. <span>Рейтинг: <?php echo $current_rating; ?> - <?php echo html_spellcount($t_v, 'голос|голоса|голосов'); ?></span>
вот сюда
#14 10 июля 2019 в 14:20
чебурек дохлэй мыш То что надо, благодарю Вас ;)
#15 10 июля 2019 в 15:21
  1. <span>Рейтинг: <?php echo $current_rating; ?> - <?php echo html_spellcount($total_voted, 'голос|голоса|голосов'); ?></span>
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.