Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour à tous,
les différents tutoriaux que j'ai pu voir fonctionnent avec un seul controller dans lequel les différentes actions représentent les pages du site. Je voudrais organiser d'une façon différente et créer un controlleur par rubrique ou par page. Je voudrais créer des URI du type localhost/monsite/rubrique1, localhost/monsite/rubrique2... en définissant des controllers rubrique1Controller, rubrique2Controller etc. Mais voilà ca n'a pas l'air de fonctionner. Y a t-il un paramétrage particulier pour cela ? Merci.
A+
Frédéric
Hors ligne
A priori, c'est le fonctionnement par défaut du ZF, il n'y a pas de conf particulière.
Penses juste à mettre dans le nom de ta classe controlleur
(Rubrique1Controller pour une URL du type localhost/monsite/rubrique1)
Sinon est-ce que tu peux nous dire ce qui ne fonctionne pas ? (message d'erreur ? page blanche ?...)
A+, Philippe
Hors ligne
Voilà ce qui se passe.
J'ai un controlleur EcrireController.php dans lequel tout est configuré normalement.
Dans mes vues j'ai un rep /scripts/ecrire/index.phtml
Là aussi tout est très simple.
Par contre dans le navigateur j'ai une erreur 404 Not Found.
l'url est du type : http://127.0.0.1/tschtong/ecrire/
Merci Philippe.
A+ Frédéric
Hors ligne
Pourrait tu mettre le code de ton bootstrap (index.php) histoire que l'on jette un coup d'oeil?
Regarde par ici : http://www.z-f.fr/forum/viewtopic.php?id=229
Hors ligne
Voici le code de l'index.php :
<?php define('BASE_URL','http://127.0.0.1/tschtong/'); set_include_path("." .PATH_SEPARATOR."./library" .PATH_SEPARATOR."/application/models" .PATH_SEPARATOR.get_include_path()); require_once 'Zend/Loader.php'; // Registry init Zend_Loader::loadClass("Zend_Registry"); // Controller init Zend_Loader::loadClass('Zend_Controller_Front'); Zend_Loader::loadClass('Zend_Controller_Router_Rewrite'); $controller = Zend_Controller_Front::getInstance(); $controller->setBaseUrl(BASE_URL); $controller->setControllerDirectory('./application/controllers'); $controller->throwExceptions(true); // init viewRenderer $view = new Zend_View(); $viewRenderer = Zend_Controller_Action_HelperBroker:: getStaticHelper('viewRenderer'); $viewRenderer->setView($view) ->setViewSuffix('phtml'); // call dispatcher $controller->dispatch(); ?>
Merci,
A++ Fred.
PS : Je pense que c'est la config du serveur qui déconne. J'utilise EasyPHP 2.0. Mes .htaccess sont correctement nommés et bien placés. Par contre pour ce qui concerne le httpd.conf je ne suis pas sûr. AllowOveride all est configuré dans un directory à la racine du serveur.
Encore merci
Dernière modification par tschtong (07-11-2007 11:34:18)
Hors ligne
Ton BASE_URL est faux, essaye :
define('BASE_URL','/tschtong/');
A+, Philippe
Hors ligne
Merci de ta réponse !
J'ai fait la modif mais c'est toujours pareil. La page d'accueil fonctionne bien sauf quand je passe dans l'URL /index/ il me fait également une erreur 404.
A+ Fred
PS. C'est bon j'ai corrigé le problème...
Dans un premier j'ai chargé le module rewrite dans la config apache
Ensuite, j'ai dans le localhost j'ai mis le allowOveride à All, il était à none.
Ensuite j'ai modifié mon htaccess avec ces paramètres :
RewriteEngine on RewriteRule .* index.php
Merci à vous à plus,
Fred
Dernière modification par tschtong (07-11-2007 12:08:25)
Hors ligne
Pages: 1