Задача: выводить текст в зависимости от значения параметра в URL. Обычно в контекстой рекламе используется параметр utm_source, и ссылки имеют вид: http://domain.ru/?utm_source=anytext, который обозначает источник посетителя или кампанию контекстой рекламы. Это позволяет отслеживать источники трафика, строить статистику и много еще чего.
Например, мы хотим в зависимости от источника трафика изменять номер телефона (могут быть проблемы с ПС).
Решение:
Создаем модуль, и в его содержимое вставляем:
<?php
function phoneutm()
{
$varphones = array(
'default' => 'default text',
'url1' => 'text 1',
'url2' => 'text 2',
);
if (isset($_GET['utm_source']))
{
$utm = $_GET['utm_source'];
if (isset($varphones[$utm]))
{
$defphone = $varphones[$utm];
setcookie('utm_cookie', $utm, time() + 60 * 60 * 24 * 365, '/');
}
}
else
if (isset($_COOKIE['utm_cookie']))
{
$utm = $_COOKIE['utm_cookie'];
if (isset($varphones[$utm]))
{
$defphone = $varphones[$utm];
}
}
else
{
$defphone = $varphones['default'];
}
if ($defphone)
{
$phone = $defphone;
}
return $phone;
}
В том месте, где нужно вывести строку, выводим ее функцией:
if (function_exists('phoneutm'))
{
echo phoneutm();
}
Какой именно номер будет выводится, записывается посетителю в куки, поэтому при обновлении страницы или переходе в пределах сайта все это будет работать.
Добавить комментарий