<div id="vk_count"></div>
<script type="text/javascript">
VK.Api.call('widgets.getComments',
{widget_api_id: "6194704", url: document.URL},
function(obj) {
document.getElementById('vk_count').innerHTML = 'всего:' + obj.response.count;
});
</script>
Как вывести его в чанке шаблона списка новостей так, чтобы отображалось кол-во комментариев внутри каждой страницы с новостями? Простой подстановкой, естественно, не работает. :(
Спасибо.
Андрей 08.01.2018 19:56 #
Будет ли работать, неизвестно :)
Дима 08.01.2018 23:13 #
Андрей 09.01.2018 11:05 #
Попробуйте так, и посмотрите в исходном коде страницы чтобы в url: нужный адрес подставляло, без лишних слешей и т.п.
Дима 09.01.2018 11:37 #
Например, тут uc2k.ru/?page=2
Там у новости «Не выходя из столовой: годовое собрание» 4 коммента. Но они не выводятся. В каждом чанке генерируется код:
Андрей 09.01.2018 12:23 #
Плюс вам на странице списка новостей нужно вставить в head код API вконтакте:
Проверил у себя на тестовом сайте, всё работает.
«только URL первого поста на каждой странице»
Такого быть не должно, проверяйте чанк.
Дима 09.01.2018 12:42 #
Чанк вывода новости на главной:
Вызов сниппета такой:
Чанк vk_count такой:
Но почему-то ссылку в скрипте генерирует только первой новости для всех остальных. И кол-во комментов под статьей не выводит все равно. Вроде все сделал как надо…
Андрей 09.01.2018 12:50 #
2. [[$vk_count]] — не нужно этот код выносить в ещё один чанк, вставляйте скрипт прямо в код maincontentTpl, оно потому и ставит везде одну ссылку.
Дима 09.01.2018 12:53 #
Дима 11.01.2018 09:57 #
Вот тут
Андрей 11.01.2018 12:20 #
Тогда единственно верный вариант будет писать скрипт vk API, который используя события widgets.comments.new_comment и widgets.comments.delete_comment будет писать через ajax кол-во комментариев куда нибудь в поле документа (в tv например).
Дима 11.01.2018 12:23 #
Андрей 11.01.2018 12:29 #
Или ещё вариант сделать комменты например на TicketComments.