crond 16 октября 2013 в 18:09 Всем привет, подскажите, можно-ли к друпалу прикрутить комментарии вконтакте? Нужно что-бы работал счетчик комментариев Drupal7 Решение проблем Блог Войдите или зарегистрируйтесь, чтобы отправлять комментарии
crond 16 октября 2013 в 18:47 Boozenok, мм, хорошо, тогда может вы подскажите, каким методом можно изменять счетчик комментариев у ноды?
crond 16 октября 2013 в 19:41 Вроде разобрался, вроде все достаточно просто: Создаем примерно такой js: VK.Observer.subscribe('widgets.comments.new_comment',function f(num, last_comment, date, sign) { $.post("/ajax/comments",{ type: 'vkontakte', num: num, last_comment: last_comment, date: date, sign: sign, articleId: articleId }); }); А затем модуль с таким кодов внутри: <?php function vk_comments_menu() { // страница articles_ajax $items['ajax/comments'] = array( 'page callback' => 'vk_comments_output', 'type' => MENU_CALLBACK, 'access arguments' => array('access content'), ); return $items; } function vk_comments_output() { if(is_numeric($_POST['articleId'])) { if($node = node_load((int)$_POST['articleId'])) { $node->comment_count = $node->comment_count + 1; $node->path = array('alias' => $path, 'pathauto' => FALSE); node_save($node); } } } ?> Осталось только добавить необходимые проверки и должно заработать
Комментарии
можно
Boozenok, мм, хорошо, тогда может вы подскажите, каким методом можно изменять счетчик комментариев у ноды?
Вроде разобрался, вроде все достаточно просто:
Создаем примерно такой js:
VK.Observer.subscribe('widgets.comments.new_comment',function f(num, last_comment, date, sign)
{
$.post("/ajax/comments",{
type: 'vkontakte',
num: num,
last_comment: last_comment,
date: date,
sign: sign,
articleId: articleId
});
});
А затем модуль с таким кодов внутри:
<?php
function vk_comments_menu() {
// страница articles_ajax
$items['ajax/comments'] = array(
'page callback' => 'vk_comments_output',
'type' => MENU_CALLBACK,
'access arguments' => array('access content'),
);
return $items;
}
function vk_comments_output() {
if(is_numeric($_POST['articleId']))
{
if($node = node_load((int)$_POST['articleId']))
{
$node->comment_count = $node->comment_count + 1;
$node->path = array('alias' => $path, 'pathauto' => FALSE);
node_save($node);
}
}
}
?>
Осталось только добавить необходимые проверки и должно заработать