smarty - вывод разных шаблонов в зависимости от refferer

  • Автор темы Автор темы U$ER
  • Дата начала Дата начала

U$ER

Guest
smarty - вывод разных шаблонов в зависимости от refferer

Отображается шаблон $smarty->display("index.tpl"). Нужно показывать посетителям пришедшим с определенных ресурсов index2.tpl. Подскажите как лучше реализовать это, если можно с действующим примером.
 
U$ER

ничего не понял - ты не знаком с конструкцией IF?
так прочитай о ней в документации

Если тебя интересует где взять referer -так и спрашивай. Чтобы понять где - вызови phpinfo() или распечатай массив $_SERVER

второе: REFERER вовсе не обязан быть - и в последнее время его чаще нет, чем есть. Так что опираться на него врядли стоит, скорее всего очень большое колличество обращений будет без referer или он будет неправильным.
 
Можно ветвить условия в PHP-файле, а можно так же и в самом шаблоне (к примеру если тебе нужно не вобще весь шаблон другим сделать, а какую-то его часть).
 
ForJest
твой ответ не подходит - он спрашивал про ветвление на уровне PHP, а не на уровне шаблона.
 
Действительно.
PHP:
$template_filename = preg_match("~host_sepcial_.com~", $_SERVER['HTTP_REFERER'])?'index.tpl':'index2.tpl';
$tpl-> display($template_filename);
 
si
На всякий случай. Вдруг ему нужно только
site1.domain.com и site256.domain.com, а остальные - нет :-).
Ну в целом - просто показалось что так будет лучше.
 
Сверху