phpBB: Установка счетчиков и информеров через hook system

Клиентское и серверное программное обеспечение

phpBB: Установка счетчиков и информеров через hook system

Сообщение Serg » Пн апр 08, 2013 11:41

Изменить размер шрифта ↓ВернутьИзменить размер шрифта ↑counters and informers hook :
  • Это мод для случаев, когда не хочется редактировать шаблон для вставки кода счетчиков и информеров (Яндекс.Метрика, Google Analytics и др.).
  • При наличии нескольких стилей, смене стилей, апгрейдах и т.п. действиях необходимость редактирования шаблонов это вызывает неудобства.
  • Вместо редактирования можно использовать hook system, оставляя шаблон "чистым".

Скачать с ЯД counters_and_informers_hook_v_1_0_0.zip

Установка:
  1. Внести изменения в файл root/includes/hooks/hook_counters_and_informers.php, добавив в него коды информеров и счетчиков. При добавлении необходимо в кодах заменить все одинарные кавычки на последовательность символов \' (обратный слэш и одинарная кавычка). Например, такие изменения придется сделать для Yandex.Metrika Counter и Gogle Analytics.

    Важно ! Замечание по используемым стилям:
    - subsilver2 - DEBUG_OUTPUT заключается в квадратные скобки; при включении DEBUG в config.php и добавлении информера закрывающая скобка будет перенесена на следующую строку, после информеров;
    - prosilver - информеры будут отображаться слева под информацией DEBUG_OUTPUT.

    Поэтому информеры имеет смысл добавлять для prosilver.

    Информеры следует добавлять между строками в файле hook_counters_and_informers.php
    Код: Выделить всё
    <!-- Информеры -->
    и
    Код: Выделить всё
    <!-- /Информеры -->
    Коды инфомеров рекомендуется отделять от основного содержимого, например
    Код: Выделить всё
    <br /><br />
    а также разделять пробелами, например
    Код: Выделить всё
    &nbsp;&nbsp;
    Если информеры не требуются, удалите все строки между вышеуказанными.

    Счетчики следует добавлять между строками в файле hook_counters_and_informers.php
    Код: Выделить всё
    <!-- Счетчики -->
    и
    Код: Выделить всё
    <!-- /Счетчики -->
  2. Копировать файл root/includes/hooks/hook_counters_and_informers.php в папку includes/hooks/
  3. Если Вы не используете мобильный стиль, пропускаете этот пункт.

    В мобильных стилях не определен DEBUG_OUTPUT, используемый модом. Ршение проблемы:
    - проверить, определена ли в overall_footer.html DEBUG_OUTPUT
    - если нет, то добавить строку
    Код: Выделить всё
    <!-- IF DEBUG_OUTPUT -->{DEBUG_OUTPUT}<!-- ENDIF -->
    (предпочтительно в блок
    Код: Выделить всё
    <div class="copyright">
    или для стиля Artodia после
    Код: Выделить всё
    Powered by <a href="http://www.phpbb.com/">phpBB</a> &copy; phpBB Group.
  4. Очистить кэш.

Удаление:
  1. Удалить файл includes/hooks/hook_counters_and_informers.php
  2. Очистить кэш.
Пример добавления информеров:
Код: Выделить всё
         // Добавляем информеры
         $template->_rootref['DEBUG_OUTPUT'] .= '
<!-- Информеры -->

<br />

<!-- Yandex.Metrika informer -->
<a href="http://metrika.yandex.ru/stat/?id=xxxxxxxx&amp;from=informer"
target="_blank" rel="nofollow"><img src="//bs.yandex.ru/informer/xxxxxxxx/x_x_xxxxxxxx_xxxxxxxx_x_pageviews"
style="width:88px; height:31px; border:0;" alt="Яндекс.Метрика" title="Яндекс.Метрика: данные за сегодня (просмотры, визиты и уникальные посетители)" onclick="try{Ya.Metrika.informer({i:this,id:xxxxxxxx,lang:\'ru\'});return false}catch(e){}"/></a>
<!-- /Yandex.Metrika informer -->

&nbsp;&nbsp;

<!-- LiveInternet logo -->
<a href="http://www.liveinternet.ru/click" target="_blank"><img src="//counter.yadro.ru/logo?13.1" title="LiveInternet: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня" alt="" border="0" width="88" height="31"/></a>
<!-- /LiveInternet -->

<!-- /Информеры -->
         ';
Пример добавления счетчиков:
Код: Выделить всё
      // Добавляем коды счетчиков
      $template->_rootref['DEBUG_OUTPUT'] .= '
<!-- Счетчики -->

<!-- Yandex.Metrika counter -->
<script type="text/javascript">
(function (d, w, c) {
    (w[c] = w[c] || []).push(function() {
        try {
            w.yaCounterxxxxxxxx = new Ya.Metrika({id:xxxxxxxx,
                    clickmap:true,
                    trackLinks:true,
                    accurateTrackBounce:true});
        } catch(e) { }
    });

    var n = d.getElementsByTagName("script")[0],
        s = d.createElement("script"),
        f = function () { n.parentNode.insertBefore(s, n); };
    s.type = "text/javascript";
    s.async = true;
    s.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//mc.yandex.ru/metrika/watch.js";

    if (w.opera == "[object Opera]") {
        d.addEventListener("DOMContentLoaded", f, false);
    } else { f(); }
})(document, window, "yandex_metrika_callbacks");
</script>
<noscript><div><img src="//mc.yandex.ru/watch/xxxxxxxx" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->

<!-- GA counter -->
<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(["_setAccount", "UA-xxxxxxxx-x"]);
  _gaq.push(["_trackPageview"]);

  (function() {
    var ga = document.createElement("script"); ga.type = "text/javascript"; ga.async = true;
    ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";
    var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(ga, s);
  })();
</script>
<!-- /GA counter -->

<!-- LiveInternet counter -->
<script type="text/javascript"><!--
new Image().src = "//counter.yadro.ru/hit?r"+escape(document.referrer)+((typeof(screen)=="undefined")?"":";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth?screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,80))+";"+Math.random();
//--></script>
<!-- /LiveInternet -->

<!-- /Счетчики -->
      ';
Аватара пользователя
Serg
Администратор
 
Сообщения: 88
Зарегистрирован: Ср янв 14, 2009 13:50
Имя: Сергей Юрьевич

Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1