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

U$ER

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

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

kvf77

Red Devil
U$ER

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

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

второе: REFERER вовсе не обязан быть - и в последнее время его чаще нет, чем есть. Так что опираться на него врядли стоит, скорее всего очень большое колличество обращений будет без referer или он будет неправильным.
 

nw

Новичок
Можно ветвить условия в PHP-файле, а можно так же и в самом шаблоне (к примеру если тебе нужно не вобще весь шаблон другим сделать, а какую-то его часть).
 

kvf77

Red Devil
ForJest
твой ответ не подходит - он спрашивал про ветвление на уровне PHP, а не на уровне шаблона.
 

ForJest

- свежая кровь
Действительно.
PHP:
$template_filename = preg_match("~host_sepcial_.com~", $_SERVER['HTTP_REFERER'])?'index.tpl':'index2.tpl';
$tpl-> display($template_filename);
 

ForJest

- свежая кровь
si
На всякий случай. Вдруг ему нужно только
site1.domain.com и site256.domain.com, а остальные - нет :).
Ну в целом - просто показалось что так будет лучше.
 
Сверху