Создание Desktop-приложений, виджеты ВКонтакте для сайтов и публичных страниц, OAuth 2.0, Open API, Standalone
Глеб
Сообщения: 57 Зарегистрирован: 16 дек 2009, 19:27
Сообщение
Глеб » 29 мар 2012, 16:38
Правильно понял или нет?
Код: Выделить всё
<div id="vk_comments"></div><script type="text/javascript">VK.Widgets.Comments("vk_comments", {limit: 10, width: "550", attach: "*"}); VK.Observer.subscribe('widgets.comments.new_comment',function(num){ document.getElementById('num')= num; });</script>
И потом вывожу с помощью <div id="num"></div>
Александр
Создатель сайта
Сообщения: 4574 Зарегистрирован: 27 сен 2009, 16:45
Сообщение
Александр » 29 мар 2012, 20:18
Глеб
Ну так работает? Нет? С JavaScript без ВКонатакте api сначало разберись. Про innerHTML почитай.
Глеб
Сообщения: 57 Зарегистрирован: 16 дек 2009, 19:27
Сообщение
Глеб » 29 мар 2012, 21:50
Понял,
Код: Выделить всё
<div id="vk_comments"></div> <script type="text/javascript"> VK.Widgets.Comments("vk_comments", {limit: 30, width: "550", autoPublish: 0, onChange: addComment}); function addComment(num) { document.getElementById('num').innerHTML = num; } </script> <div id="num"></div>
Но есть одна проблема, при обновлении страницы эта строка исчезает, а как сделать чтобы она всегда была
Александр
Создатель сайта
Сообщения: 4574 Зарегистрирован: 27 сен 2009, 16:45
Сообщение
Александр » 29 мар 2012, 22:04
Тогда сохраняй куда-то эти данные и выводи их оттуда, а не яваскриптом. Ты не понимаешь принцип работы яваскрипта. Разберись в этом и узнай как вообще можно хранить данные. Если будешь продолжать пытаться делать методом поиска кода который можно просто вставить, то ничего хорошего у тебя не получится.
Глеб
Сообщения: 57 Зарегистрирован: 16 дек 2009, 19:27
Сообщение
Глеб » 31 мар 2012, 16:39
Александр
Вот у меня в БД есть колонки post_id , num и last_comment
Подскажите как сделать, если такой post_id уже существует, то просто обновить num и last_comment, а не создавать новую строку с этими данными
пробывал через ON DUPLICATE KEY UPDATE `num` = (`num`), но не выходит
Глеб
Сообщения: 57 Зарегистрирован: 16 дек 2009, 19:27
Сообщение
Глеб » 02 апр 2012, 15:00
Александр писал(а): Глеб
Откуда берется newsid? Вот это и используй.
Нашел,
Код: Выделить всё
$full_link = $config['http_home_url'] . "index.php?newsid=" . $row['id'];
но незнаю как теперь отправить его в скрипт, пробывал через POST, но выводит ошибку синтаксиса(
Глеб
Сообщения: 57 Зарегистрирован: 16 дек 2009, 19:27
Сообщение
Глеб » 02 апр 2012, 20:06
Глеб писал(а): Александр писал(а): Глеб
Откуда берется newsid? Вот это и используй.
Нашел,
Код: Выделить всё
$full_link = $config['http_home_url'] . "index.php?newsid=" . $row['id'];
но незнаю как теперь отправить его в скрипт, пробывал через POST, но выводит ошибку синтаксиса(
Как считать я нашел, добавил в файл show.full.php
Код: Выделить всё
$page_id = "".$row['id'].""; $tpl->set( '{page_id}', $page_id );
И сам код виджета выглядит так
Код: Выделить всё
<div id="vk_comments"></div><script type="text/javascript">VK.Widgets.Comments("vk_comments", {limit: 30, width: "550", autoPublish: 0, onChange: addComment}, {page_id} ); function addComment(num) { $.post('vk_comments.php', { "num": num,"page_id": {page_id}}, function(data){ $('#result').html(data); }); } </script>
Но проблема в том, что в БД он записывает коммент новости которой была открыта первой, т.е если была открыта первой страница с id 1 то в БД запишится 1 и кол. коммент., а страницу с id 2 он записывать не будет. Как такое исправить?