Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
hello,
je me demandait si quelqu'un avait une idée pour que la lecture des view se fasse dans un autre dossier que celui par défaut!
merci.
Hors ligne
Oui regarde le post que j'ai fait sur le la surcharge des vues
http://www.z-f.fr/forum/viewtopic.php?id=359
tu définit ta classe vue qui dérive de Zend_View tu surcharge la methode _run
class Myapp_View_Test extends Zend_View { /** * Includes the view script in a scope with only public $this variables. * * @param string The view script to execute. */ protected function _run() { $name = func_get_arg(0); echo 'test de view : ' . $name; } }
func_get_arg(0) te donne le chemin complet du script à rendre. tu peux donc là le modifier.
Zend_view ne fait qu'un inculde du script avec un ob_start.
par exemple tu peux décider de fixer le script dans un membre content par exemple et tendre un script main qui contient la structure commune à toute tes pages. se script se chargeant d'inclure le contentent.
Sans toucher à cette partie tu peux aussi jouer sur le constructeur
class Myapp_View_Test extends Zend_View { /** * Constructeur * * @param string $tmplPath * @param array $extraParams * @return void */ public function __construct() { parent::__construct(); $this->setScriptPath('Mon path à moi'); } }
auquel cas le viexw renderer ira chercher tes script dans ton path.
enfin tu peux changer le script avec $this->view->setScriptPath('un path') dans une action pour changer le path dans une action et non toute l'application.
A+JYT
Hors ligne
de rien
Hors ligne