Доброго времени суток!
Такой вопрос, поставил модуль Vote up/down, вроде все работает, но вот чего не могу понять при голосовании за один пост, во всех постах отображается этот голос. Кто-нибудь может подсказать как сделать, чтобы голос присваивался к посту за который проголосовали, а не ко всем постам.
искал поиском, но видимо только я не понял как это сделать...)
Комментарии
Вообщем-то странно, т.к. в штатном режиме модуль нормально голосует за отдельную статью. Может чего в настройках намудрили (сомневаюсь что вообще есть такая возможность проголосовать за все посты) или конфликтует с какими-то еще модулями.
Да странно. поставил сейча на голое ядро, настройки не трогал, результат тот же
раз +1 дописывается во всех каунтерах на странице, значит у вас, скорее всего, во всех постах выводится одинаковый id/class дива, в котором находится счет.
Сегодня ставил на один из проектов vote_up_down и столкнулся с той же проблемой. В базе все голоса хранятся как надо, но это и понятно. Исходный код показываемой html'ки сказал что у point'а вид типа вместо положенного, скажем, . Естественно, что при одинаковом виде всех id и значения в jQuery будут обрабатываться коряво. При этом в vote_widget все прекрасно. Поиск по темплейтам ничего фатального не показал, а вот код модуля неприятно "порадовал". Вот кусок функции vote_up_down_link в vote_up_down.module:
$node_type = in_array($node->type, variable_get('vote_up_down_node_types', array()), TRUE);
$style = variable_get('vote_up_down_widget_style_node', 0) == 1 ? '_alt' : '';
if ($node_type && user_access('view up/down votes')) {
if (variable_get('vote_up_down_reset_vote', 0) && user_access('use vote up/down')) {
$token = drupal_get_token("vote_up_down/$type/$node->nid/0");
$links['vote_up_down_reset'] = array(
'title' => t('Reset vote'),
'href' => "vote_up_down/$type/$node->nid/0",
'attributes' => array('title' => t('Reset your vote.')),
'query' => drupal_get_destination() .'&token='. $token,
);
}
if ($teaser && variable_get('vote_up_down_link_node', 0) && variable_get('vote_up_down_link_node', 0) != 2 && $style != "_alt") {
$links['vote_up_down_points'] = array(
'title' => theme('vote_up_down_points', $node->cid, $type),
'html' => TRUE,
);
}
else if (!$teaser && variable_get('vote_up_down_link_node', 0) > 1 && $style != "_alt") {
$links['vote_up_down_points'] = array(
'title' => theme('vote_up_down_points', $node->cid, $type),
'html' => TRUE,
);
}
}
break;
Как вы можете заметить, в обоих местах theme('vote_up_down_points', $node->cid, $type) вызывается с неправильным параметром. в общем, друзья, поменяйте и у себя эти строчки на theme('vote_up_down_points', $node->nid, $type) и будет вам счастье.
P.S. версия vote up/down 6.x-1.0-beta4 (последняя на сегодняшний день).
P.S. важно! на $node->nid меняйте только $node->сid, из раздела case 'node':, но никак не $comment->cid из раздела case 'comment':.
спасиб.) попробую...
Спасибо, работает!