Как добавить возможность без изменения самого компонента, чтобы голосовать можно было "+" и "-", при этом рейтинг либо увеличивался на 1, либо уменьшался на 1. Т.е чтобы рейтинг высчитывался как целое число (может быть отрицательным, положительным, либо = 0)?

Рейтинг "Плюс минус" можно вычислить самостоятельно.

Сделайте голосование от 1 до 2.

Число выводите, как результат вычисления:

count = количество голосов,
sum = сумма баллов.

sum - count = количество тех, кто поставил 2 (то есть +). count - (sum - count) = количество тех, кто поставил 1 (то есть -).

(sum - count) - ( count - (sum - count) ) = 2*sum - 3*count = значение вашего рейтинга.

Пример:

10 человек поставили 1. (как бы минус)
5 человек поставили 2. (как бы плюс)

всего проголосовало 15
сумма оценок 20

2*20 - 3*15 = -5 рейтинг, который вы показываете пользователю.


Число  2*sum - 3*count достаточно выводить в шаблоне компонента.

Может потребоваться записать полученный рейтинг в базу данных. Используйте пример автоматического пересчета рейтинга, но со своей формулой


0  


 Формула рейтинга | Описание курса | Голосование за один из нескольких элементов