Установка кода счётчика - PHP

Основная проблема при размещении кода счётчика на сайтах на PHP заключается в том, что стандартный вариант кода счётчика расценивается интерпретатором как код PHP, а не как JavaScript код. Решение этой проблемы возможно одним из следующих способов:

Способ 1: Обычный PHP-сайт. Вынесение кода счётчика за теги <?php ?>

Если PHP-код используется для реализации части элементов / функций сайта, то наиболее простым вариантом установки кода счётчика станет его вынесение за пределы тегов ?php ?. Установку кода счётчика при этом нужно выполнять с соблюдением общих рекомендаций по установке кода.

Способ 2: Обычный PHP-сайт. Вставка кода счётчика через функцию print()

Внутри PHP-кода можно вставить код счётчика с помощью функции print(), используя код счётчика в качестве аргумента функции. Необходимым условием работы фукнции в этом случае будет экранирование двойных кавычек, используемых в коде счётчика. Экранирование производится заменой двойных кавычек " на сочетание символов \":

<!--Openstat--><span id=\"openstatFIX-COUNTER-ID\"></span><script type=\"text/javascript\">
var openstat = { counter: FIX-COUNTER-ID, image: FIX-IMAGE, next: openstat };
(function(d, t, p) {
var j = d.createElement(t); j.async = true; j.type = \"text/javascript\";
j.src = (\"https: \" == p ? \"https: \" : \"http: \") + \"//openstat.net/cnt.js\";
var s = d.getElementsByTagName(t)[0]; s.parentNode.insertBefore(j, s);
})(document, \"script\", document.location.protocol);
</script>
<!--/Openstat--> 

Вместо:

  • FIX-COUNTER-ID должен присутствовать реальный ID зарегистрированного для сайта счётчика.
  • FIX-IMAGE нужно указать номер выбранного для кнопки счётчика способа отображения.

Документация по необходимым функциям представлена на страницах:

Способ 3: Обычный PHP-сайт. Вставка кода счётчика напрямую

Внутри PHP-кода можно вставить специальную версию кода счётчика:

<?php echo <<<EOL
<span id="openstatFIX-COUNTER-ID"></span><script type="text/javascript"> var openstat = {  counter: FIX-COUNTER-ID, image: FIX-IMAGE, next: openstat }; 
(function(d, t, p) 
{ var j = d.createElement(t); j.async = true; j.type = "text/javascript"; j.src = ("https:" == p ? "https:" : "http:") + "//openstat.net/cnt.js"; 
var s = d.getElementsByTagName(t)[0]; s.parentNode.insertBefore(j, s); })(document, "script", document.location.protocol); </script>
EOL;
?>

Вместо:

  • FIX-COUNTER-ID должен присутствовать реальный ID зарегистрированного для сайта счётчика.
  • FIX-IMAGE нужно указать номер выбранного для кнопки счётчика способа отображения.

Способ 4: Шаблонизатор Smarty. Вставка кода счётчика напрямую

Необходимым условием работы счётчика на PHP-сайтах с использованием шаблонизатора Smarty является экранирование фигурных скобок, используемых в коде счётчика. Экранирование производится "оборачиванием" фигурных скобок { и } в теги {literal}:

<!--Openstat--><span id="openstatFIX-COUNTER-ID"></span><script type="text/javascript">
var openstat = {literal}{{/literal}  counter: FIX-COUNTER-ID, image: FIX-IMAGE, next: openstat {literal}}{/literal};
(function(d, t, p) {literal}{{/literal}
var j = d.createElement(t); j.async = true; j.type = "text/javascript";
j.src = ("https:" == p ? "https:" : "http:") + "//openstat.net/cnt.js";
var s = d.getElementsByTagName(t)[0]; s.parentNode.insertBefore(j, s);
{literal}}{/literal})(document, "script", document.location.protocol);
</script>
<!--/Openstat-->

Вместо:

  • FIX-COUNTER-ID должен присутствовать реальный ID зарегистрированного для сайта счётчика.
  • FIX-IMAGE нужно указать номер выбранного для кнопки счётчика способа отображения.

Документация по экранирующему тегу представлена на странице:

Сработает также вариант размещения кода, когда экранироваться будет будет весь код счётчика, а не только символы фигурных скобок.

Способ 5: Шаблонизатор Smarty. Подключение кода счётчика из внешнего файла

Javascript-код счётчика подключается в виде отдельного файла.

Вызов внешнего файла с кодом счётчика при этом будет производиться как:

<script type="text/javascript" src="data/{$smarty.const.TPL}/myopenstat.js></script>
Topic revision: r1.15 - 18 Jul 2011
 

Copyright 1999-2016 © by Openstat
Есть идеи, вопросы или проблемы, связанные с Openstat? Свяжитесь с нами