Коллеги, возникла специфичная хотелка - даже не знал как обозвать тему. Для решения не хватает мозгов и знания работы модулей.
Дано: словарь "лекарства" с терминами - названиями лекарств; 2 типа материала: болезни и лекарства, так что каждой болезни присваиваются термины из словаря "лекарства", а каждому лекарству присваивается только один термин - то же самое лекарство (только не спрашивайте нафига так).
Т.е. как бы одно лекарство соответствует одной ноде "лекарства", но нескольким нодам "болезни" (что логично).
Требуется: система голосования типа +1/-1 для любой нод "лекарства", но с заданием к каждой такой ноде нескольких характеристик действия лекарства в отношении каждой болезни отдельно.
Пример: есть нода "Аспирин", есть термин таксономии "Аспирин", есть ноды "Грипп" и "Пульпит". Требуется в ноде "Аспирин" организовать голосование в плюс или минус по нескольким пунктам: "Помогает при гриппе как жаропонижающее", "Помогает при пульпите как болеутоляющее", а затем в ноде "Грипп" и "Пульпит" показать, сколько плюсиков и минусиков у "Аспирина" (и других лекарств). Ну и желательна возможность в views выводить значения.
Читал (пока не ставил) модули Flag и Vote ip/down, но так и не понял из описания, как именно они работают и есть ли у них такая возможность. Может быть задействовать тут Similar by terms?
ПыСы заодно перетошнил левыми ключами страницу немножко
Комментарии
На шестёрке хз как, вероятно надо смотреть темизацию и вывод нескольких виджетов в node.tpl.php, на семёрке влёт решается, мышкой из одминке
Лучше 5 звезд. Там можно несколько критериев назначить одному материалу.
Я как раз сразу отвалил 5 звезд (6.x-1.19) из-за невозможности вывести несколько виджетов в рамках одной ноды. Или Вы тоже про семерку, или я не разобрался?
Модуль?
Fivestar
Спасибо! Пойду покурю дев-версию (я так понимаю, моя хотелка спрятана в "Multiple Axis ratings"?)
Только жаль в fivestar нет +/-, а только звезды.
Плюс минус там реализуем темизацией
Я выкладывал кажется в той теме "Multiple Axis ratings" пропатченный модуль файвстар с возможностью голосования по нескольким критериям.
Вот нашел ссылку http://drupal.org/files/issues/fivestar.tar_.gz
Потом надо в шаблоне ноды вставить виджеты для каждого критерия вручную и все работает.
rate чем не угодил?
О, в закладки его.
Незнанием!
Спасибо Огромное! Кажется то, что я искал.
ПыСы Круто! таки включили флаги.
Вроде слелал, но одного не пойму - как перевести слова 'up'/'down', в переводе интерфейса их нет, в файлах модуля тоже не нашел подходящего?
Если это те слова, которые появляются после того как проголосуешь, то они обернуты в t. В этом можно убедиться - открыв в модуле папку с нужным виджетом и посмотрев в шаблон. Да, их хер найдешь в переводе, поэтому копируем английский текст прямо из исходного кода (шаблона) и вставляем в строку поиска
К сожалению, не нашел - там вовсе нет переменных в t.
Вот кусок кода из thumbs-up-down.tpl.php:
<?php<ul>
<li class="thumb-up">
<?php print $up_button; ?>
<div class="percent"><?php print $results['up_percent'] . '%'; ?></div>
</li>
<li class="thumb-down">
<?php print $down_button; ?>
<div class="percent"><?php print $results['down_percent'] . '%'; ?></div>
</li>
</ul>
<?php
if ($info) {
print '<div class="rate-info">' . $info . '</div>';?>
хм,в семерке виджет выглядит несколько по другому. Поэтому тут не подскажу, это ж ставить и смотреть надо
Ну и на том человеческое Спасибо!
В общем решил вопрос отчасти:
По описанию в сабже вывел виджет в нодах "лекарства", затем посредством "Similar By Terms" (аргументом "SimilarByTerms: Nid" вывел кликабельные виджеты в "болезни".
Примеры результата: вот в лекарствах, вот в болезни (на обеих страницах под текстом ноды; диз не ругайте - руки пока не дошли).
В итоге получилось не совсем правильно, т.к. голосуя на странице болезни, юзер голосует как бы динамически за соотношение лекарства и болезни, а голосуя со страницы лекарства - просто за это самое лекарство.
Пытался додуматься как вывести на странице лекарства посредством того же "Similar By Terms" список ассоциированных с ним болезней, но там лажа полная:
вариант 1: создаем еще одну такую же вьюху, но затем меняем в ней выводимый тип материала с лекарств на болезни - тогда вообще нифига не выводится (и верно, ведь виджет Rate включен только для лекарств).
вариант 2: включаем виджет для болезней и выводим ассоциированные с неким лекарством болезни с помощью "Similar By Terms" на странице этого лекарства, но тогда получается, что в двух и более местах перекрещивания нод будут выводиться 2 разных виджета (с разными данными), что более неправильно чем как я сейчас вывел.
Если у кого-то еще не взорвался мозг и есть хоть какие мысли о том, как вывести один виджет по указанной мной схеме, буду благодарен - мягко говоря.