Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Je souhaite router des modules ZF2 en fonction du sous domaine, et plus tard du domaine.
Exemple:
www.domaine.com => module Application
mobile.domaine.com => module Mobile
back.domaine.com => module Backoffice
mon fichier config/application.config.php
return array(
'modules' => array(
'Application',
'Mobile',
'Backoffice,
),
'module_listener_options' => array(
'config_glob_paths' => array(
'config/autoload/{,*.}{global,local}.php',
),
'module_paths' => array(
'./module',
'./vendor',
),
),
);
Je pense avoir juste jusque la. Ensuite il me faut déclarer la route dans chaque module. Pour application pas de soucis. Pour Mobile ? La je ne sais comment prendre en compte le sous domaine dans mon fichier module/Mobile/config/module.config.php (Si c'est bien la qu'il faut intervenir)
Merci par avance de vos réponses
Hors ligne
Après quelques jours de recherche... j'ai trouvé une solution indiqué dans la doc zf2 http://zf2.readthedocs.org/en/latest/mo … uting.html
'route' => ':subdomain.domain.tld', 'constraints' => array( 'subdomain' => 'fw\d{2}' ),
J'ai donc adapté mon fichier module.config.php (pour le module Mobile)
'routes' => array( 'home' => array( 'type' => 'Hostname', 'options' => array( 'route' => ':subdomain.domain.tld', 'constraints' => array( 'subdomain' => 'mobile' ), ),
Mais ca ne fonctionne pas le sous domaine mobile n'est pas pris en compte. Je ne comprends pas comment cela fonctionne.
Hors ligne
As tu essayé en dur ? Retirer la clause constraints et remplacer
'route' => ':subdomain.domain.tld' par 'route' => 'mobile.domain.tld' ?
Hors ligne
Oui, j'ai tester plusieurs solutions. Avec et sans contraintes. La route n'est jamais retenue.
Si je passe Mobile en dernier dans application.config.php, ca marche. Mais je suppose que le router prend le dernier module par défaut.
return array( 'modules' => array( 'Application', 'Mobile', // 'Backoffice', ), 'module_listener_options' => array( 'config_glob_paths' => array( 'config/autoload/{,*.}{global,local}.php', ), 'module_paths' => array( './module', './vendor', ), ), );
Hors ligne
Bonjour,
J'avais un truc dans le genre en ZF1 et je réfléchis à une solution similaire.
Pour le moment j'ai fait trois vhost avec trois sous dossiers dans public et chacun lance une application différente avec un router différent, et chacun charge les modules dont il a besoin.
Cela apporte de la flexibilité, et permet de ne charger que la conf et les modules nécessaires.
Mais je suis preneur de retours, rien n’est encore fixé … des avis ?
Hors ligne
As tu trouvé une solution ?
Je suis confronté au même problème.
Merci
Hors ligne
Bonjour,
Non je n'ai pas de solution, mais j'ai mis cette recherche en attente...
Hors ligne
Pages: 1