2010-12-07 28 views
0

Je voudrais avoir un bouton qui, selon l'emplacement de l'utilisateur sur le site, appelle le contrôleur et l'action appropriés.Zend Framework - créer un bouton de retour intelligent

J'ai une page avec un bouton de retour.

Les gens peuvent arriver sur ce creux page:

a) lien sur la page d'accueil. OU b) à travers un lien sur une autre page (à l'intérieur du même site).

Si l'utilisateur provient de la page d'accueil, le bouton de retour doit pointer vers ce contrôleur et cette action.

Si, cependant, l'utilisateur vient de cette autre page, le bouton de retour devrait pointer vers un autre contrôleur et une action.

Comment pouvons-nous accomplir quelque chose comme ça?

Merci beaucoup,
MEM

ps - Histoire Retour est d'aucune utilité, parce que nous ne pouvons pas laisser ce bouton pour créer un lien vers un site externe.

Répondre

2

Eh bien, si vous ne pouvez pas utiliser javascript pour revenir dans l'historique, alors vous avez un cas indéfini lorsqu'un site externe mène directement à la page. Supposons que si l'utilisateur est arrivé à la page via un site externe, le bouton de retour ne devrait tout simplement pas apparaître. Envisagez de vérifier le code $_SERVER['HTTP_REFERER'] et de construire le lien du bouton de retour en fonction de cela. Inspectez le referer (parse_url() peut être d'un service particulier ici), si ce n'est pas votre domaine, n'affichez pas le bouton, sinon, choisissez un endroit pour renvoyer l'utilisateur à (probablement juste l'URL entière du referer).

+0

Merci. Je vais jeter un coup d'oeil sur ceux-ci. À votre santé. – MEM