Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 04-08-2010 10:40:58

guice11
Membre
Date d'inscription: 17-07-2010
Messages: 30

URL Rewriting [Résolu]

Bonjour à tous,

Je suis en train de commencer avec Zend Framework, et je fais un petit blog pour débuter mais maintenant je bloque depuis pas mal de temps au niveau de reécrire les URL.

J'ai trouvé qu'il fallais écrire dans la méthode _initAutoload() du bootstrap comme ci-dessous, mais après cela me fais une page blanche :

Code:

protected function _initAutoload()
    {
        $moduleLoader = new Zend_Application_Module_Autoloader(array(
            'namespace' => '',
            'basePath' => APPLICATION_PATH));
            
        $frontController = Zend_Controller_Front::getInstance();
        $router = $frontController->getRouter();
            

    $route = new Zend_Controller_Router_Route_Regex(
        'categorie/[a-z\-]*-([0-9]*)',
        array('controller' => 'categories', 'action' => 'detail'),
        array(1 => 'id')
    );

      $router->addRoute($route);
        
        return $moduleLoader;
    }

et mon .htaccess est :

Code:

RewriteEngine On
RewriteBase /zend_blog/public
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

J'ai une adresse de ce type : http://localhost/zend_blog/public/categories/detail/id/1

Et j'aimerais plutot que ce soit du type : http://localhost/zend_blog/public/categories/[nom_de_la_categorie]

Merci de votre aide wink

Dernière modification par guice11 (07-08-2010 23:14:04)

Hors ligne

 

#2 04-08-2010 19:07:20

Intiilapa
Membre
Date d'inscription: 03-02-2009
Messages: 95

Re: URL Rewriting [Résolu]

guice11 a écrit:

$route = new Zend_Controller_Router_Route_Regex(
        'categorie/[a-z\-]*-([0-9]*)',
        array('controller' => 'categories', 'action' => 'detail'),
        array(1 => 'id')
    );

Et j'aimerais plutot que ce soit du type : http://localhost/zend_blog/public/categories/[nom_de_la_categorie]

Il faut que tu sois plus rigoureux soit tu utilises du pluriel soit tu utilises du singulier ^^
Tu voudrais que l'url soit de ce type : http://localhost/zend_blog/public/categories/[nom_de_la_categorie]-[id_categorie]
De plus, tu n'as pas besoin d'échapper le tiret dans une classe d'expression régulière. Je pense que la syntaxe suivante doit être à peu près correcte :

Code:

$route = new Zend_Controller_Router_Route_Regex(
    'categories/[a-z-]+-([0-9]+)',
    array(
        'controller' => 'categories',
        'action' => 'detail',
    ),
    array(
        1 => 'id',
    )
);

Hors ligne

 

#3 10-08-2010 11:16:50

guice11
Membre
Date d'inscription: 17-07-2010
Messages: 30

Re: URL Rewriting [Résolu]

Oui c'est ça, je voudrais que ça soit du type : http://localhost/zend_blog/public/categories/[nom_de_la_categorie]-[id_categorie].

Mais maintenant celà marche mais les lien présent sur la vue "detail" du controlleur "categorise" qui normalement renvoie à la vue "detail" du controlleur "articles" renvoyent à la vue "detail" du controlleur "categories"

Je vois pas pourquoi.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages