Здравствуйте.
Есть список компаний с рейтингом. Рейтинг формируется на основании голосов посетителей сайта, выводится в табличной вьюхе и может меняться в любой момент в зависимости от голосов.
Сейчас, например, следующий рейтинг компаний:
1. ООО "Василек"
2. ООО "Ромашка"
3. ООО "Рога и копыта"
.......
Как на странице конкретной компании вывести текущую позицию в рейтинге? Например на странице ООО "Ромашка" вывести: №2 в рейтинге компаний.
Комментарии
Ну у вас же вьюха сортирует их на основании рейтинга. Выводите эту переменную рейтинга в шаблоне ноды-компании
Текущая оценка компании, на основании которой вьюха сортирует компании, не отображает место этой компании в рейтинге. Оценку я выводить умею в шаблоне. А место как?
1. ООО "Василек" 4,7
2. ООО "Ромашка" 4,2
3. ООО "Рога и копыта" 3,8
1, 2, 3 - это просто счетчик результатов во вьюхе.
Ну как вариант в препроцессе шаблона вычислять номер позиции на основании всех рейтингов
А через что вы рейтинги храните? Кастом или контрибный модуль?
Каким образом это можно сделать?
Для оценки компании пользователями используются Fivestar и Voting API. А сама таблица рейтинга компаний формируется через вьюху, которая сортирует компании по убыванию Vote. Ну а нумерация, как я писал, это Глобальный счетчик результатов во вьюхе.
В том то и дело. У Вас нет никакого "рейтинга".
Вам нужно сохранять эту позицию рейтинга куда-то, тогда Вы сможете использовать эти данные, в т.ч. выводить на страницу.
Пересчитывать все позиции при каждой загрузке страницы ради вывода номера - непростительный оверхед.