[Drupal] Подключаем кнопки для социальных сетей

Drupal

Для многих не секрет, что публикация ваших записях в социальных медиа добавит трафик для вашего сайта или портала. Но чтобы запись легко было публиковать в социальной сети, то делаются специальные кнопки. Есть бесплатный сервис, генерирующий скрипт, который позволяет посетителям вашего сайта публиковать ссылки на ваши статьи в социальные медиа (закладки, социальные сети). Сервис называется share42 — скрипт кнопок социальных закладок и сетей. И сейчас я расскажу как его поставить на сайт, который работает на движке drupal.

Вначале идем на сайт share42.com.

В генераторе выбираем нужные кнопки и некоторые опции, а потом нажимаем скачать готовый скрипт.

Теперь будем заниматься его установкой.

Вначале его надо распаковать. Полученную папку «share42» копируем на сайт по FTP по адресу ./sites/all/libraries (при желании папку можно переименовать).

У нас должно получится что-то похожее на это: http://site.ru/share42/.

Код ниже может отличаться. На сайте приведен код для любого сайта:

<div class="share42init"></div>
<script type="text/javascript" src="http://site.ru/share42/share42.js"></script>
<script type="text/javascript">share42('http://site.ru/share42/')</script>

Но нас интересует именно друпал

<div class="share42init" data-url="<?php print $node_url ?>" data-title="<?php print $title ?>"></div>
<script type="text/javascript" src="http://site.ru/share42/share42.js"></script>
<script type="text/javascript">share42('http://site.ru/share42/')</script>

Но данный код работает не совсем корректно, в нем надо кое-что исправить, а именно

<?php print $node_url ?>

меняем на

<?php print 'http://site.ru'.$node_url ?>

Т.е. в код который надо вставить:

<div data-url="<?php print $node_url ?>" data-title="<?php print 'http://site.ru'.$node_url ?>"></div>
<script type="text/javascript" src="http://site.ru/share42/share42.js"></script>
<script type="text/javascript">share42('http://site.ru/share42/')</script>

Теперь его надо вставить в шаблон. Будем его вставлять в файл «node.tpl.php», у меня в шаблоне код такой:

<?php
?>
<div id="node-<?php print $node->nid; ?>" class="<?php print $classes; ?>"<?php print $attributes; ?>>

  <?php print $user_picture; ?>

  <?php print render($title_prefix); ?>
  <?php if (!$page): ?>
    <h2<?php print $title_attributes; ?>><a href="<?php print $node_url; ?>"><?php print $title; ?></a></h2>
  <?php endif; ?>
  <?php print render($title_suffix); ?>

  <?php if ($display_submitted): ?>
    <span class="submitted"><?php print $submitted ?></span>
  <?php endif; ?>

  <div class="content clearfix"<?php print $content_attributes; ?>>
    <?php
      // We hide the comments and links now so that we can render them later.
      hide($content['comments']);
      hide($content['links']);
      print render($content);
    ?>
  </div>

  <div class="clearfix">
    <?php if (!empty($content['links'])): ?>
      <div class="links"><?php print render($content['links']); ?></div>
    <?php endif; ?>

    <?php print render($content['comments']); ?>
  </div>

</div>

Код вставляем перед комментариями перед <div class=»clearfix»> и получаем:

<?php
?>
<div id="node-<?php print $node->nid; ?>" class="<?php print $classes; ?>"<?php print $attributes; ?>>

  <?php print $user_picture; ?>

  <?php print render($title_prefix); ?>
  <?php if (!$page): ?>
    <h2<?php print $title_attributes; ?>><a href="<?php print $node_url; ?>"><?php print $title; ?></a></h2>
  <?php endif; ?>
  <?php print render($title_suffix); ?>

  <?php if ($display_submitted): ?>
    <span class="submitted"><?php print $submitted ?></span>
  <?php endif; ?>

  <div class="content clearfix"<?php print $content_attributes; ?>>
    <?php
      // We hide the comments and links now so that we can render them later.
      hide($content['comments']);
      hide($content['links']);
      print render($content);
    ?>
  </div>

<!-- Share42 -->
<?php if ($page): ?>
<div class="share42init" data-url="<?php print 'http://site.ru'.$node_url ?>" data-title="<?php print $title ?>"> </div>
<script type="text/javascript" src="http://site/sites/all/libraries/share42/share42.js"></script>
<script type="text/javascript">share42('http://site/sites/all/libraries/share42/')</script>
<?php endif; ?>
<!-- /Share42 -->

  <div class="clearfix">
    <?php if (!empty($content['links'])): ?>
      <div class="links"><?php print render($content['links']); ?></div>
    <?php endif; ?>

    <?php print render($content['comments']); ?>
  </div>

</div>

Оцените статью
( Пока оценок нет )
Блог Ичи

Добавить комментарий

  1. Михаил

    Интересная статья, но думаю стоит описать что папку share24 Вы перекинули в ../sites/all/libraries

    Ответить
    1. Ichi автор

      Да, все верно. Спасибо за указание ошибки.

      Ответить