Добавление блока «Поделиться» от Яндекса

Яндекс создал API для кнопок социальных сетей.
Виды кнопок
Чтобы добавить такой блок внизу каждого топика, в файле header.tpl вставляем между <head> и </head>:
<script type="text/javascript" src="//yandex.st/share/share.js" charset="utf-8"></script>

И в файле topic.tpl перед <ul class=«tags»> вставляем:
<div class="yashare-auto-init" data-yashareType="link" data-yashareTitle="{$oTopic->getTitle()}" data-yashareLink="{$oTopic->getUrl()}" data-yashareQuickServices="vkontakte,twitter,yaru,facebook,lj,friendfeed,moimir,odnoklassniki"></div>

Дальше можно настроить на свой вкус, используя параметры. Например так.
UPD bobo. Если совсем лень настроить параметры вручную, есть простой конструктор.

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

avatar
Попробывал. Добавляет только заголовок поста.
Странно, все остальные страницы на яше отдают 404 связынные с этой кнопкой: документация, для разработчика
avatar
Там есть простой удобный конструктор. Я тоже уже поставил.
  • bobo
  • 0
avatar
data-yasharetext="{$oTopic->getText()}"


Так?
avatar
Разобрался. Для закрытого режима не выводит текст поста.
avatar
Вконтакте сам выдергивает картинки и текст, можно даже ничего не добавлять.
А в остальных сервисах будет заголовок и ссылка на топик.
avatar
При добавлении в шаблон CalmGran вся верстка едет при заходе в посте.
avatar
А как его поставить на главную? Т.е. в topic_list.tpl

Сейчас использую отдельные кнопки.
avatar
тоже самое сделать.
avatar
Подскажите что именно «то же самое»? Добавляю первую строку кода в topi_list.tpl но ничего не появляется (нужно чтобы кнопки появлялись на главной странице в топиках)
avatar
Вставить это
<li><div class="yashare-auto-init" data-yashareType="button" data-yashareTitle="{$oTopic->getTitle()}" data-yashareLink="{$oTopic->getUrl()}" data-yashareQuickServices="vkontakte,twitter,facebook,moimir"></div></li>

Перед этим
{hook run='topic_show_info' topic=$oTopic}


Правда это может ввести пользователя в замешательство, если статья длинная и присутствует кат. Увидев «поделиться» он может не заметить кат, считая что пост закончен. Лучше ставить «поделиться» внутри поста.
avatar
встроил код именно туда, но на главной иконки не появились все равно.
avatar
все ок теперь, код другой нужен был.
avatar
У меня вопрос а в чем отличие от сервиса «одна кнопка»? я вот шалон сейчас делаю и в нем по умолчанию стоит «одна кнопка», есть ли смысл замены ее на яндекскнопку?
avatar
Если устраивает внешний вид и надпись «Закладки» вместо «Поедлиться», то оставьте однукнопку. Больше они ничем не отлиаются.
avatar
чьим серверам вы больше доверяете? =) яндекс то понадёжнее чутка будет
avatar
В Opera AC не отображается блок. Как думаете, куда рыть?
avatar
Сделал всё, как написано. Однако, при наведении курсора на любую из соц. кнопочек (к примеру, Twitter) — в самой ссылке вместо названия конкретной статьи отображается {$oTopic->getTitle()}, а вместо url моей статьи — {$oTopic->getUrl()} Т.е., другими словами — заголовок и url статьи почему-то не преобразовываются.
У вас на сайте с этим — все в порядке. В чем может быть проблема?
  • Ezio
  • 0
avatar
Скорее всего вы заключили вывод URL и Title статьи в тег {literal}{/literal}, что в данном случае делать не нужно.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.