вывожу в ноде Fivestar widget через fivestar_widget_form($node);
-- в итоге отображается активный виджет, хочется, чтобы был пассивный, чтобы можно было голосовать только через комментарии. (Проблема 1)
есть модуль Fivestar Comments он позволяет голосовать за новость через комменты, однако при каждом комментировании есть возможность переменить свое решение, соответственно мы имеем комментарии с разными оценками (что плохо) и учитывается соотв последний (что впринципе логично). Как решить эту проблему? (Проблема 2)
Комментарии
написать свой модуль. у fivestar есть api, т.е. можно например запретить изменять результаты голосования тупо не обновляя уже сделанные в БД, если комментарий был сохранен.
"тупо не обновляя" не выйдет, нужно задисаблить саму возможность выбора рейтинга заново.
нет, вы не понимаете, есть hook_fivestar_access(), с помощью его при голосовании можно определить, что делать, сохранить(обновить) результат или нет. Опять же, можно подменять виджеты для голосования на статику.
Хотя можно и на javascript тоже самое сделать, но тут уже будет другой подход...
окей, пойду читать документацию
немного коряво, но сделал:
(пользователь, может менять свою оценку, однако во всех комментариях она изменится на полседнюю)
template
<?php
function phptemplate_preprocess_comment(&$vars) {
$mycom = db_fetch_object(db_query('SELECT * FROM {comments} WHERE nid = %d AND uid = %d ORDER BY cid DESC LIMIT 1',
$vars['node']->nid, $vars['comment']->uid));
$comment=fivestar_comment_load($mycom->cid, $vars['node']->nid);
$vars['comment']->fivestar_rating=$comment['value'];
$vars['comment']->fivestar_view=theme('fivestar_static', $comment['value'],
variable_get('fivestar_stars_'. $node->type, 5));
}
?>
шаблон comment.tpl
добавил
<?php print $comment->fivestar_view; ?>
выпилил кривой стандарный рейтинг из комментария регуляркой (может можно и красивее)
<?php
$content=preg_replace('~^.*<p>~sUi', '<p>', $content);
print $content
?>
Смежный вопрос.
У меня не получается вывести через вьюс список комментариев, чтобы у каждого была оценка, привязанная к этому комменту. Вьювс тупо выводит все оценки к ноде, неважно как они были сделаны - через коммент или просто через виджет.
Может быть я что-то не учел? Куда копать, подскажите, пожалуйста.
скрин бы помог