Ротатор Adsense посетителям из Google и РСЯ посетителям из Яндекса

Подскажите как можно вставить данный код в шаблон записи topic_part_footer.tpl

<?
$refer=substr(substr($_SERVER['HTTP_REFERER'], 0, 13), -6);
if($refer=='yandex'){
?>
Код рекламы для пользователей с Яндекса (РСЯ)
<?}
elseif($refer=='google'){
?>
Код для пользователей с Google (Adsense)
<?}
else{
?>
Код для пользователь не из этих поисковых систем
<?
}
?>


Пробую вставить код, а выводятся все сразу блоки и условия не работают. Как правильно вставить?

3 комментария

+2
PHP-код в шаблонах Smarty не работает.

Если без всяких плагинов и максимально просто, то я бы так советовал:

В /app/config/config.loca.php вставляется примерно такой код
if (isset($_SERVER['HTTP_REFERER']) 
    && preg_match('#^http(s)?://(www\.)?(google|yandex)\.(com|ru)#', $_SERVER['HTTP_REFERER'], $aM)) {
  define('REFERER', isset($aM[3]) ? $aM[3] : '');
}
А в шаблоне в нужном месте так
{if $smarty.const.REFERER=='yandex'}
<!-- код для пришедших с Яндекса -->
{elseif $smarty.const.REFERER=='google'}
<!-- код для пришедших я Гугла -->
{else}
<!-- код для всех остальных -->
{/if}
Отредактирован:
0
Спасибо за ответ. Вот только у меня altocms 0.9.7 первый код вставил в /config/config.loca.php в самый конец. Второй код в шаблон, но почему-то у меня вместо рекламы пусто. И рекламы нет и ошибки никакой не выводит.
Отредактирован:
0
Хоте нет это я наверное ошибся. Сделал все заново и ставил везде рекламный код. Все заработало. Огромное спасибо!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.