Deprecated: Array and string offset access syntax with curly braces is deprecated in /var/www/dlefaq/data/www/dle-faq.ru/engine/classes/templates.class.php on line 337 Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; DLE_Comments has a deprecated constructor in /var/www/dlefaq/data/www/dle-faq.ru/engine/classes/comments.class.php on line 21 Deprecated: The behavior of unparenthesized expressions containing both '.' and '+'/'-' will change in PHP 8: '+'/'-' will take a higher precedence in /var/www/dlefaq/data/www/dle-faq.ru/malinkcode/mainlink.php on line 79 Проблема с like от вконтакте :: DLE FAQ

Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » Общие вопросы » Проблема с like от вконтакте

Проблема с like от вконтакте


     Общие вопросы, Шаблоны (TPL), Стили (CSS)    3043

вопрос
Проблема заключается в следующем. Беру виджет мне нравится от вконтакте, засовываю код в shorstory.tpl и получается вот что:

Проблема с like от вконтакте


Все кнопки находятся у первой новости друг за дружкой, всю голову уже сломал.

Код shorstory.tpl

Ответил: legallaz


Если кнопка присутствует несколько раз, а это на данный момент shortstory.tpl

То нижняя часть скрипта меняется на
<div id="vk_like-{news-id}"></div>
<script type="text/javascript">
VK.Widgets.Like("vk_like-{news-id}", {type: "button"});
</script>

Этим мы задаём каждой кнопке свой ид.

К себе я ещё добавлял так:
<table class="news" border="0" cellspacing="0" cellpadding="0" style="padding: 10px 20px;">
<tr>
<!--Кнопка мне нравиться-->  
Код кнопки
<!--Кнопка мне нравиться-->
</tr>
</table>


Пример с моей кнопкой:
<table class="news" border="0" cellspacing="0" cellpadding="0" style="padding: 10px 20px;">
<tr>
<!--Кнопка мне нравиться-->  
<script type="text/javascript" src="//vk.com/js/api/openapi.js?109"></script>

<script type="text/javascript">
  VK.init({apiId: 4253251, onlyWidgets: true});
</script>

<div id="vk_like-{news-id}"></div>
<script type="text/javascript">
VK.Widgets.Like("vk_like-{news-id}", {type: "button"});
</script>
<!--Кнопка мне нравиться-->
</tr>
</table>

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

legallaz
Гости

legallaz - -

Хочу добавить, в общем надо менять в нижней части кода:

Это: (там их два)
vk_like

На это:
vk_like-{news-id}


Остальное это настройки твоей кнопки!
Остальное можешь даже не трогать). Всё просто на самом деле).

Жаль ответ нельзя отредактировать(

narkom6n
Юзер

narkom6n - -

Почему когда я ставлю лайк к одной новости, то к другим он тоже проставляется?

legallaz
Гости

legallaz - -

Это уже другой вопрос. Пока не могу сказать...

narkom6n
Юзер

narkom6n - -

Может кто нибудь сталкивался с данной проблемой, помоги пожалуйста.

legallaz
Гости

legallaz - -

Она не подписывается к самой новости, а просто дублируется с помощью оригинального ида.
Когда ты нажимаешь на мне нравиться от копирует всю страницу и по этому он так делает на каждом счётчике.
А как сделать правильно, я не знаю(. Но подумаю).

narkom6n
Юзер

narkom6n - -

Вот так вот работает, но кнопка появляется только у одной новости.

<div id="vk_like"></div>
<script type="text/javascript">
window.onload = function () {
VK.init({apiId: 111, onlyWidgets: true});
VK.Widgets.Like('vk_like', {width: 500, pageTitle: '{news-id}', pageDescription: '{short-story}'}, {news-id});
}
</script>

legallaz
Гости

legallaz - -

<div id="{news-id}"></div>
<script type="text/javascript">
VK.Widgets.Like("{news-id}", {type: "full", height: 24, pageDescription: '{short-story}'}, {news-id});
</script>

narkom6n
Юзер

narkom6n - -

Чу-чуть подправил и получилось! Все good! Кому нужно, держите:

<div id="{news-id}"></div>
<script type="text/javascript">
VK.Widgets.Like("{news-id}", {type: "mini", height: 20, pageTitle: '{title}', pageUrl: '{full-link}', pageDescription: '{short-story}'});
</script>

Похожие вопросы

наверх