Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1 2
A tout hasard, as tu essayé de mettre un sous rep scripts et ton acceuil.phtml dedans, il me semble que quoi que tu fasses, le ZF cherche les scripts de vue dans un rep scripts situé sous la liste de reps que tu as ajoutés.
Hors ligne
Si je me fie à l'exception levée, les noms de répertoires indiqués sont bien ceux que j'ai configuré et les chemins sont correctement construits.
Le problème, c'est de savoir à quel endroit ça déconne et vu le nombre de fichiers utilisés par le ZF, ça va pas être un cadeau de trouver. Et en fait, je ne comprends pas que ce soit un tel merdier pour avoir une architecture cohérente.
Hors ligne
La liste des paths indiqués dans l'exeption n'est ni plus ni moins que la stack de path des vues.
Dans chaque path destinés au vues, il y au moins 3 répertoires. scripts, filters et helpers, les fichiers de vue sont recherché dans le sous repertoire scripts, pas directement dans le path que tu indiques.
Hors ligne
Ça ne tient pas la route :
Uncaught exception 'Zend_View_Exception'
with message 'script 'accueil.phtml' not found
in path (\zf-tutorial\application\vues\templates\accueil\;\zf-tutorial\application\vues\templates\)'
... etc...
Le nom de fichier est bon, le chemin indiqué est bon également, on voit bien les deux chemins et il aurait du trouver le fichier au bout du premier. Donc l'exception n'a pas de raison d'être. Il y a donc un problème ailleurs.
Hors ligne
Es tu vraiment sur que le path est bon ?
\zf-tutorial\application\vues\templates\accueil\ vs C:\www\zf-tutorial\librairie\Zend\View\Abstract.php
Hors ligne
Bien vu.
Maintenant, tout fonctionne, voici les modifications apportées :
IndexController :
//... /* Séparateur de répertoires */ const SR = DIRECTORY_SEPARATOR; //... /* Ici, on empêche de préfixer le nom de la vue avec le répertoire du nom de l'action appelée */ $this->_helper->viewRenderer->setNoController(true); /* Définition des répertoires où trouver les vues. */ $racineVuesAccueil = $_SERVER['DOCUMENT_ROOT'] . $this->view->baseUrl . self::SR .'application'. self::SR .'vues'. self::SR .'templates'; $this->view->setScriptPath($racineVuesAccueil); $this->view->addScriptPath($racineVuesAccueil . self::SR .'accueil'); //...
Ce qui manquait, c'est $_SERVER['DOCUMENT_ROOT'] .
Contrôleurs d'action :
//... /* Affichage */ $this->_helper->viewRenderer->setRender('accueil'); //...
Hors ligne
Pages: 1 2