Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
hello,
je voudrait savoir, si comme à l'instar des controllers, on savait définir plusieurs répertoire contenant des vue.
merci
Hors ligne
Je ne ma rappelle pas avoir lu une telle possibilité dans la doc.
En revanche on peut personnaliser le chemin d'accès au vues et avoir un chemin "dynamique" (qui dépend du module et/ou du controller et/ou de l'action)
Par exemple :
define('APP_DIR','/path/to/application/directory'); $view = new Zend_View(); $viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer($view); $viewRenderer->setView($view) ->setViewBasePathSpec(APP_DIR . '/views/') ->setViewScriptPathSpec(':module/:controller/:action.:suffix') ->setViewScriptPathNoControllerSpec(':module/:action.:suffix') ->setViewSuffix('html');
Je sais pas si cela peut répondre à une partie de ton problème, mais c'est toujours utile
Hors ligne
J'apporte une nouvelle réponse car je suis tombé sur ce que tu cherchais en continuant à lire la doc : http://framework.zend.com/manual/en/zen … llers.html
In fact, you can "stack" paths using the addScriptPath() method. As you add paths to the stack, Zend_View will look at the most-recently-added path for the requested view script. This allows you override default views with custom views so that you may create custom "themes" or "skins" for some views, while leaving others alone.
$view = new Zend_View(); $view->addScriptPath('/path/to/app/views'); $view->addScriptPath('/path/to/custom/'); // now when you call $view->render('booklist.php'), Zend_View will // look first for "/path/to/custom/booklist.php", then for // "/path/to/app/views/booklist.php", and finally in the current // directory for "booklist.php".
Je pense que cette fois cela répond plus à ce que tu cherches
Hors ligne
génial
un tout grand merci...
pour ceux que cela intéresse :
on peux aussi faire :
//ajoute trois nouveau chemin pour les helper, filter et script et ce à partir du chemin path addBasePath($path, $classPrefix = 'Zend_View') //Ajoute un chemin pour les vue proprement dite, donc le contenu du dossier "script" addScriptPath($path) //Ajoute un chemin vers les helper addHelperPath($path, $classPrefix = 'Zend_View_Helper_') //Ajoute un chemin vers les filter addFilterPath($path, $classPrefix = 'Zend_View_Filter_')
Dernière modification par Grummfy (03-09-2007 01:31:51)
Hors ligne
Oui ca agit comme des piles que tu empiles (...sic!).
Ainsi, lorsque tu instancies un script de vue, il cherche dans les dossiers ajoutés, dans l'ordre dans lequel ils ont été empilés ( FIFO ).
C'est très pratique pour le skinage de site par exemple, un simple addScriptPath() et le tour est joué .
Hors ligne