Подсчет суммарной оценки рейтинга fivestar

Аватар пользователя engenes engenes 5 июня 2017 в 20:30

Как подсчитать сумму всех оценок (fivestar) к определенной ноде?
Нужно вывести представление в котором будет выводиться суммарный рейтинг заголовок ноды.

Лучший ответ

Комментарии

Аватар пользователя xakd xakd 6 июня 2017 в 10:52

Ручками во Views Php код указать - кто знает, сколько у вас там этих оценок на ноде навешано

Аватар пользователя xakd xakd 6 июня 2017 в 12:05

Только не заказчики, а особенно понтанутые разработчики, и не в реале, а в мечтах

Аватар пользователя dgastudio dgastudio 6 июня 2017 в 12:46

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

Аватар пользователя xakd xakd 6 июня 2017 в 13:06

Потому что как по мне это уже какие-то профессиональные страхи - views php кошмар-кошмар, php-фильтр низя-низя. Хотя нормально написанный код в views php ничуть не опаснее такого же. оформленного в модуле

Аватар пользователя dgastudio dgastudio 6 июня 2017 в 13:19

ок, тобишь тебе еще расти и расти.
https://www.webomelette.com/5-things-you-should-not-do-in-drupal
https://ohthehugemanatee.org/blog/2013/12/26/44497-people-are-wrong-how-...
http://www.sixmiletech.com/content/never-put-php-node-again

это так, навскидку...
pss, там еще ядро вроде бы можно править, но также говорят что это плохо...тебе решать

Аватар пользователя xakd xakd 6 июня 2017 в 15:36

«If you are running Drupal 7, you'll maybe know that there is this module called PHP Filter. Don't use it. Not only it represents a huge security risk if unauthorised users get to evaluate PHP with it, but you can also evaluate PHP with it!. Which is absurd.

There's a good reason why separation of concerns (logic from presentation) is to be desired in web applications. And god knows Drupal 7 falls short in many respects, but this is to the extreme. Putting PHP in with your content is the mother of all the you're doing it wrong. So just don't. Unless you have to. I'm kidding. Write a custom module to handle the functionality you'd need there and disable PHP Filter. But don't delete it because it's core (see my first point).»

И чем же нас тут пугают? Что нельзя давать пользователям вводить данные с php-фильтром что-ли? Или че то ещё есть? А то я в английском не так силен, чтобы тонкости понимать.

Аватар пользователя fairrandir fairrandir 6 июня 2017 в 16:31

Если вы используете Друпал 7, то возможно знаете о существовании такого модуля, как PHP Filter. Не используйте его. Его использование - это не только огромная дыра в безопасности (вдруг недоверенный пользователь выполнит код через него). Самое абсурдное - что с помощью данного модуля PHP код можете выполнить ВЫ.

Существует хорошая причина, по которой разделение ответственности (в частности логики от представления) является хорошей практикой в веб-приложениях. Видит б-г, Друпал отстаёт во многих аспектах, но это уже перебор. Вставлять PHP в контент - это квинтэссенция плохого подхода. Поэтому просто перестаньте. Пока не придётся. Шучу.

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

Аватар пользователя gun_dose gun_dose 6 июня 2017 в 11:54

5*
Профессиональное чутьё мне подсказывает, что если включить мозг, то решение может быть очень простым.

Аватар пользователя engenes engenes 6 июня 2017 в 13:44

А зачем мне этот скрин?
Я прекрасно помню как fivestar выглядит, мне нужно выводить сумму оценок например 3+5=8, fivestar всегда будет показывать среднее число не больше 5 либо процент

Аватар пользователя xakd xakd 6 июня 2017 в 15:40

Вам намекают, что если вы знаете СРЕДНЮЮ оценку и кол-во оценок, то сумму вы тоже можете несложным образом узнать.
И совет включить мозг видимо тоже был не зря...

Аватар пользователя engenes engenes 6 июня 2017 в 16:08

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

Аватар пользователя xakd xakd 7 июня 2017 в 11:43

Да нет, точным оно будет. Точнее некуда.
«перемножив среднюю оценку на количество голосов оценок я конечно получу» ТОЧНЫЙ результат.