Je crée une application de portail client à l'aide de ZF. Et le portail doit fonctionner pour différentes marques d'entreprise. J'ai donc besoin d'utiliser le même code/contrôleur/etc, mais de changer dynamiquement le répertoire de vue en fonction du nom d'hôte.Définition dynamique du répertoire de vue
En ce moment, ma structure de répertoire de vue ressemble à quelque chose comme ceci:
/application/views/scripts/brand1/
/application/views/scripts/brand1/index/index.phtml
/application/views/scripts/brand1/error/error.phtml
/application/views/scripts/brand2/
/application/views/scripts/brand2/index/index.phtml
/application/views/scripts/brand2/error/error.phtml
/application/views/scripts/brand3/
/application/views/scripts/brand3/index/index.phtml
/application/views/scripts/brand3/error/error.phtml
and so on.
J'utilise la fonction dans bootstrap.php comme si
protected function _initView()
{
$view = new Zend_View();
$view->doctype('XHTML1_STRICT');
$view->env = APPLICATION_ENV;
$view->addScriptPath(APPLICATION_PATH . '/views/scripts/brand1');
$view->addHelperPath(APPLICATION_PATH . '/views/helpers');
...
}
addScriptPath() Cependant, lorsque cela est exécuté, il cherche toutes les vues en utilisant /views/scripts/brand1/(action).phtml au lieu de chercher des vues en utilisant le bon schéma /view/scripts/brand1/(controller)/(action).phtml
tl; dr est-il possible de choisir dynamiquement le répertoire view et de le faire fonctionner comme le comportement par défaut /views/scripts/(controller)/(action).phtml?