Всем доброго времени суток. Возникла следующая задача - делать подмену номера телефона для тех, кто пришел с контекстной рекламы для отслеживания эффективности рекламной кампании. Нашел рабочий скрипт на PHP + Javascript, проверил работоспособность на своем сайте сделанном на чистом html/css - работает. На битриксе работать не хочет. Сам PHP код вставлял в самое начало файла header.php (путь - bitrix/templates/имя_темплейта/). Хотелось бы услышать возможные варианты решения проблемы. До этого с CMS и с Битриксом в частности не работал.
$(document).ready(function change() { //Настройка номеров телефонов var remarketing = 'rem-000-00-00'; var search = 'search-000-00-00'; var cpc = '89128134519'; var email = 'email-000-00-00';
var phone = '';
//Код, который определяет по cookies, какой телефон нужно показать var source = get_cookie ( 'source_type' ); if ( source == 'remarketing' ) phone = remarketing; else if ( source == 'search' ) phone = search; else if ( source == 'cpc' ) phone = cpc; else if ( source == 'email' ) phone = email;
//Подмена номера if ( source != 'direct' && phone != '' ) $('.phone_container').text( phone ); } );
function get_cookie ( cookie_name ) { var results = document.cookie.match ( '(^| ;) ?' + cookie_name + '=([^;]*)(;|$)' );
Внес изменения в код. Теперь при переходе на сайт с utm-меткой возникает ошибка - Using $this when not in object context in.. Нашел ошибку в документации - http://dev.1c-bitrix.ru/support/faq/8372/#112817, однако в php я практически не разбираюсь, поэтому буду благодарен, если подскажете возможные варианты решения проблемы.
Сделали подобное решение, чтобы не заморачиваться с кодом. Можно менять номер в зависимости от реферера, utm Меток, географии пользователя. Заменять можно не только номер телефона, но и Email Подробнее тут: marketplace.1c-bitrix.ru/solutions/creativebz.phone/