Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous,
Y a-t-il une façon déjà existante de récupérer le nom de domaine depuis le Bootstrap et/ou Controllers ?
Exemple:
- 1 Base de données
- 1 seule installation de l'application/site
- 5 noms domaines différents qui pointent tous vers le même VHost (alias ou autres).
- Je dois pouvoir détecter à quel domaine j'ai à faire pour pouvoir:
1° Assigner une variable $siteId qui me sera utile pour mes requêtes dans la DB (je dois pouvoir récupérer cette variable dans les controllers pour faire les bonnes requêtes en fonction du siteId)
2° Pouvoir changer de layout suivant le site sélectionné.
Si quelqu'un sait si une méthode existante est déjà présente ou si je dois programmer ceci ?
Merci d'avance pour votre aide.
Hors ligne
Ok merci pour ta réponse, je connais mais j'aurais souhaiter ne pas utiliser directement les $_SERVER,
mais si je n'ai pas le choix, je vais devoir mettre ceci dans un plugin je suppose..
Hors ligne
Pendant que j'y suis, je ne suis pas encore un pro de Zend Framework.. mais ce test de domaine doit donc se faire dans le bootstrap ? c'est juste ? ou alors dans un controller principal après le bootstrap ?
Merci de votre réponse..
Hors ligne
tu définis un Zend_Controller_Plugin voir
http://framework.zend.com/manual/1.10/f … ugins.html
dans ton plugin tu définis la méthode preDispatch
public function preDispatch(Zend_Controller_Request_Abstract $request)
dans cette méthode tu as accès au request
là tu fait ton test est tu ajoute un paramètre à request avec
setParam($key, $value)
tu déclare ton plugin dans le bootstrap
$front = Zend_Controller_Front::getInstance(); $front->setControllerDirectory('/path/to/controllers') ->setRouter(new Zend_Controller_Router_Rewrite()) ->registerPlugin(new MyPlugin());
tu as ensuite accès dans tous des contrôleur à ton paramètre à partir du request
$this->getRequest()->getParam('monSite');
A+JYT
Hors ligne
Merci infiniment pour ce conseil, ca fonctionne très bien!
Hors ligne