Zend Framework - создание умной кнопки возврата - PullRequest
0 голосов
/ 07 декабря 2010

Я хотел бы иметь кнопку, которая в зависимости от того, где пользователь находится на сайте, вызывает соответствующий контроллер и действие.

У меня есть страница с кнопкой возврата.

Люди могут зайти на эту страницу через:

a) ссылку на главной странице.ИЛИ b) через ссылку на другой странице (внутри того же сайта).

Если пользователь заходит с домашней страницы, кнопка «Назад» должна указывать на этот контроллер и действие.

Если, однакопользователь приходит с другой страницы, кнопка «Назад» должна указывать на другой контроллер и действие.

Как мы можем выполнить что-то подобное?

Большое спасибо,MEM

ps - История Назад бесполезна, потому что мы не можем позволить этой кнопке ссылаться на внешний сайт.

1 Ответ

2 голосов
/ 07 декабря 2010

Ну, если вы не можете использовать javascript, чтобы вернуться в историю, то у вас есть неопределенный случай, когда какой-то внешний сайт ведет прямо на страницу. Предположим, что если пользователь зашел на страницу через внешний сайт, кнопка «Назад» просто не должна появляться.

Подумайте о проверке $_SERVER['HTTP_REFERER'] и построении ссылки кнопки возврата на основе этого. Проверьте реферера ( parse_url () может быть определенной службы здесь), если это не ваш домен, не отображайте кнопку, в противном случае выберите место, куда отправить пользователя "назад" (вероятно, просто весь URL реферера).

...