Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Salut la compagnie
Je suis en train de me battre avec Zend_Layout et la doc depuis un bon moment pour essayer de faire une modification directe de l'inflecteur de Zend_Layout... (Cf. la doc)
l'exemple de la doc est, de plus, erroné:
la doc a écrit:
$layout->getInflector()->setTarget('layouts/:script.:suffix')
->setStaticRule('suffix', 'html')
->setFilterRule(array('CamelCaseToUnderscore')); // ici il manque un paramète
en faite moi je veut faire ceci:
/** * instanciation et paramètrage de Zend_Layout (layout) */ $layout_options = array( 'layout' => 'DefaultLayout', 'layoutPath' => 'application/default/layouts/', 'contentKey' => 'content' ); $layout = Zend_Layout::startMvc($layout_options); $layout->getInflector()->setTarget(':script.:suffix') ->setStaticRule('suffix', 'phtml') // remarquer ICI l'ajout du second paramètre // comme spécifier dans Zend/Filter/inflector.php ->setFilterRule('CamelCaseToUnderscore', 'StringToLower');
en gros je voudrai que si je précise DefaultLayout comme nom de layout, il me le transforme en appel au fichier default_layout.phtml
mon soucis est apparemment qu'il reste sur sa valeur par default et me recherche le fichier "default-layout.phtml"...
voici l'erreur:
Fatal error: Uncaught exception 'Zend_View_Exception' with message 'script 'default-layout.phtml' not found in path (application\default\layouts\;application\default\layouts\;application\default\views\scripts\)' in C:\wamp\www\0_lib\php\Zend\View\Abstract.php:857 Stack trace: #0 C:\wamp\www\0_lib\php\Zend\View\Abstract.php(765): Zend_View_Abstract->_script('default-layout....') #1 C:\wamp\www\0_lib\php\Zend\Layout.php(728): Zend_View_Abstract->render('default-layout....') #2 C:\wamp\www\0_lib\php\Zend\Layout\Controller\Plugin\Layout.php(142): Zend_Layout->render() #3 C:\wamp\www\0_lib\php\Zend\Controller\Plugin\Broker.php(337): Zend_Layout_Controller_Plugin_Layout->postDispatch(Object(Zend_Controller_Request_Http)) #4 C:\wamp\www\0_lib\php\Zend\Controller\Front.php(925): Zend_Controller_Plugin_Broker->postDispatch(Object(Zend_Controller_Request_Http)) #5 C:\wamp\www\zf-beroots-web\index.php(272): Zend_Controller_Front->dispatch() #6 {main} thrown in C:\wamp\www\0_lib\php\Zend\View\Abstract.php on line 857
Je suis pourtant quasi certain de ce que je fait pourtant, Donc si quelqu'un a une idée
merci d'avance
Dernière modification par BeRoots (08-10-2008 14:43:04)
Hors ligne
essaye çà:
->setFilterRule('script', array('Word_CamelCaseToUnderscore','StringToLower') );
le 1er param c'est pour lui dire à quoi affecté le filtre.
Et "CamelCaseToUnderscore" n'est pas dispo dans le répertoire Filter mais Filter/Word
Hors ligne
ok c'était bien cela merci
Hors ligne