Миниатюрная кнопка "Мне нравится" от VK

На сайте на странице планируется вывод нескольких топиков в виде плитки. В футер каждого топика пытаюсь вставить миниатюрную кнопку от vk.com следующего содержания:

<script type="text/javascript" src="http://userapi.com/js/api/openapi.js?52"></script>
<script type="text/javascript">
VK.init({apiId: 3142731, onlyWidgets: true});
</script>
<div id="vk_like"></div>
<script type="text/javascript">
VK.Widgets.Like("vk_like", {type: "mini"});
</script>

В итоге вылезает ошибка, сайт не грузится.
Помещую все в тэги Literal, получается дублирование кнопки вниз несколько раз.
На форуме встретил только один топико, в котором присваивается свой url, конкретный для данного топика. Но опять код отказывается работать.
Кто сталкивался с подобным.
Может быть уже есть готовые плагины, добавляющие Мне нравится в футер топика?

7 комментариев

avatar
Вот этот код вставляете в хедер страницы:

<script type="text/javascript" src="http://userapi.com/js/api/openapi.js?52"></script>
<script type="text/javascript">
    VK.init({apiId: 3142731, onlyWidgets: true});
</script>

А вот в этот код добавляем id топика и добавляем в футер топика (literal добавлять не обязательно, главное фигурные скобки отбить пробелами):

<div id="vk_like_{$oTopic->getId()}"></div>
<script type="text/javascript">
    VK.Widgets.Like("vk_like_{$oTopic->getId()}", { type: "mini" });
</script>
avatar
Все равно:
Fatal error: Uncaught exception 'SmartyCompilerException' with message 'Syntax Error in template "W:/home/ave-yummy.ru/www/templates/skin/developer\header.tpl" on line 27 "VK.init({apiId: 3142731, onlyWidgets: true});" - Unexpected ": ", expected one of: "}" , " "' in W:
avatar
в хедер вставьте вот так:
<script type="text/javascript" src="http://userapi.com/js/api/openapi.js?52"></script>
<script type="text/javascript">
    VK.init({ apiId: 3142731, onlyWidgets: true });
</script>
avatar
спасибо, вроде работает, но мне кажется, что все дублируется для разных топиков, везде равное количество лайков
avatar
да, вы правы, попробуйте такой вариант:
<div id="vk_like_{$oTopic->getId()}"></div>
<script type="text/javascript">
    VK.Widgets.Like("vk_like_{$oTopic->getId()}", { type: "mini", pageUrl: "{$oTopic->getUrl()}" });
</script>
avatar
не знаю, причина ли в том, что пока все делается на денвере, но напротив каждого топика стоит по одному лайку, хотя я их не ставил)) Все равно по-моему
avatar
странно, а вам не сложно будет показать исходный код страницы, где такое происходит? в личку, конечно
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.