Имеется тип материала, на котором зарегестрированные пользователи голосуют с помощью Fivestar
Оценка пользователя, среднее значение и количество проголосовавших выводится стандартными способами, но дополнительно к этому необходимо реализовать подобное
вывести процент, который расчитывается путем деления, например числа пользователей, поставивших оценку 3 и выше к общему числу проголосовавших.
Кроме этого, использовать во вьюхе рейтинга упорядочивание по этому проценту.
Как это сделать, возможно с помощью других/дополнительных модулей?
Комментарии
Открываете модуль fivestar и ищите где происходит подсчет голосов, и пишите туда свой метод подсчета.
(Я не уверен, но думаю что должен быть хук на подобное действие)
Сортировка по результатам fivestar уже где-то здесь описывалась с примером решения.
Используйте хуки votingapi, там есть файл API.txt, где есть описание функции function hook_votingapi_results_alter. Тут вы должны закешировать likeit посчитавь в запросе >60 и общее кол-во. Потом выводишь этот результат уже в тематизаторе fivestar.
Можно поподробней про вывод в тематизаторе fivestar?
Необходимый запрос написал, но что именно и как вставить, чтобы получить доступ к этим результатам?
А вот метод divined я крайне не рекомендую, это не drupal.way. После обновления вы потеряете все свои изменения.
Какой вы не внимательный, я же написал использовать АПИ, и менять модуль если АПИ нет, как-раз таки самый настоящий друпал вэй. )
ПС: к тому же никто не запрещал выдергивать модуль из системы обновления после правки, закомментировав всего пару строк в файле .info
Будьте тогда конкретнее и пишите правильно.
Тогда есть хуки..
Хакая модуль, вы лишаете его поддержки разработчиков...Если ,конечно, вы сами не хотите взять на себя эту ношу..
т.е. вы считаете что хуки это не часть АПИ? Удачи.
Как хочу так и отвечаю, особенно в понедельник утром.
А вы бы вместо того чтобы исправлять чужие ответы, помогли бы другим с их вопросами.
Вывод: У Друпал хуков нет? -)))
Тогда вам удача не поможет-))
Писдетс,
Что такое хук - это функция прерывающая выполнение основного кода, и позволяющая внести свой код в процесс выполнения.
Где реализуется эта самая функция, которая ищет хуки и перехватывает их выполнение? В ядре друпала или в самом модуле.
Это и называется АПИ.
hook_user(), hook_form_alter() это АПИ друпала
hook_votingapi_results_alter() это АПИ модуля Fivestar
ПС: Не несите бред
И чтобы дальше не было споров:
АПИ - Интерфейс программирования приложений
Содержит функции, классы и прочее для использования во внешних программных продуктах.
Т.е. это есть набор функций для взаимодействия с другими приложениями, для чего и служат хуки.
Троль?
Кто?
Кстати:
Вопрос "Тролль?" - является одним из самых распространенных видов троллинга, уводящих обсуждение в другое направление и активно провоцирует скандал. К тому же является косвенным оскорблением всех участников общения, т.к. не направлен на конкретную личность. Заставляет всех, тем самым, отстаивать свою точку зрения.
Вывод: Тролль тут вы!
Всем спасибо, заработало. Не думал, что так много кода надо будет править.