Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 07-09-2008 03:04:17

pozowebs
Membre
Lieu: Gran Canaria
Date d'inscription: 06-07-2008
Messages: 83
Site web

[Résolu][1.6]Zend_Controller_Router_Route_Regex dans config.ini

Bonjour,

j'ai un petit problème avec la réecriture d'url lorsque je passe pas un fichier ini.

Mes urls sont de la forme: .../news/5-titre-de-la-news.html

Et je veux récuperer le "5" qui est l'id de la news.

Au départ, je faisais la reécriture directement dans le bootstrap, de la façon suivante (qui marche)

Code:

$routeNews = new Zend_Controller_Router_Route_Regex(
    'news/(\d+)-(.+)\.html',
    array(
        'controller' => 'noticia',
        'action'     => 'detalle',
        'module' => 'default'
    ),
    array(
        1 => 'nid'
    ),
    'news/%d-%s.html'
);
$router->addRoute('News', $routeNews);

Bien, maintenant je voudrais faire la même chose en utilisant un fichier routes.ini

donc j'ai commencé par ajouté ceci dans le boostrap:

Code:

// Chargement des routes dans le fichier config.ini
$configRoutes = new Zend_Config_Ini('../application/routes.ini', null);
$router = new Zend_Controller_Router_Rewrite();
$router->addConfig($configRoutes);
$frontController->setRouter($router);

et voici mon fichier routes.ini:

Code:

noticias.type = "Zend_Controller_Router_Route_Static"
noticias.route = "news.html"
noticias.defaults.module = "default"
noticias.defaults.controller = "noticia"
noticias.defaults.action = "index"

noticia.type = "Zend_Controller_Router_Route_Regex"
noticia.route = "news/(\d+)-(.+)\.html'"
noticia.defaults.module = "default"
noticia.defaults.controller = "noticia"
noticia.defaults.action = "detalle"
noticia.map.1 = "nid"
noticia.reverse = "news/%d-%s.html"

... La route static fonctionne (ce qui prouve que le fichier routes.ini est utilisé), mais la route Regex ne fonctionne pas...

Je précise que je ne suis pas familier avec les fichiers ini... Une idée?

Merci

Dernière modification par pozowebs (26-09-2008 01:53:36)

Hors ligne

 

#2 08-09-2008 10:44:01

Julien
Membre
Date d'inscription: 16-03-2007
Messages: 501

Re: [Résolu][1.6]Zend_Controller_Router_Route_Regex dans config.ini

Essaye en rajoutant un

Code:

noticia.defaults.nid= 1

Hors ligne

 

#3 08-09-2008 11:33:03

pozowebs
Membre
Lieu: Gran Canaria
Date d'inscription: 06-07-2008
Messages: 83
Site web

Re: [Résolu][1.6]Zend_Controller_Router_Route_Regex dans config.ini

non (mais merci pour la suggestion).

non plus avec

Code:

noticia.map.nid = 1

Hors ligne

 

#4 16-09-2008 15:58:21

pozowebs
Membre
Lieu: Gran Canaria
Date d'inscription: 06-07-2008
Messages: 83
Site web

Re: [Résolu][1.6]Zend_Controller_Router_Route_Regex dans config.ini

je me permet un petit UP, car je n'ai toujours pas trouvé le problème (ou la solution)... wink merci.

Hors ligne

 

#5 25-09-2008 17:51:58

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

Re: [Résolu][1.6]Zend_Controller_Router_Route_Regex dans config.ini

Peut etre en ajoutant routes devant noticias  ?

Code:

routes.noticias.type ...
....
...

Et aussi :

Code:

$frontController->throwExceptions(true)
    ->getRouter()->addConfig($route, 'routes');

Dernière modification par alien7 (25-09-2008 17:55:21)


ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

Hors ligne

 

#6 25-09-2008 18:22:03

pozowebs
Membre
Lieu: Gran Canaria
Date d'inscription: 06-07-2008
Messages: 83
Site web

Re: [Résolu][1.6]Zend_Controller_Router_Route_Regex dans config.ini

j'avais déjà essayé, et je viens de vérifier, et non, toujours pas.

où trouver de l'aide concernant les fichiers ini?

Hors ligne

 

#7 25-09-2008 18:59:22

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

Re: [Résolu][1.6]Zend_Controller_Router_Route_Regex dans config.ini


ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

Hors ligne

 

#8 25-09-2008 19:09:18

pozowebs
Membre
Lieu: Gran Canaria
Date d'inscription: 06-07-2008
Messages: 83
Site web

Re: [Résolu][1.6]Zend_Controller_Router_Route_Regex dans config.ini

alien7 a écrit:

Tu es aller voir la doc de zend ?
http://framework.zend.com/manual/fr/zen … add-config

oui, je suis parti de cet exemple, mais comme je n'arrive pas à le faire fonctionner, j'essaye de comprendre.

comment et par qui est interpreté un fichier ini? et comment "traduire" le contenu du boostrap (voir mon premier post) en fichier ini?

merci a+

Hors ligne

 

#9 25-09-2008 20:33:28

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

Re: [Résolu][1.6]Zend_Controller_Router_Route_Regex dans config.ini

Pourquoi le null ?

Code:

$configRoutes = new Zend_Config_Ini('../application/routes.ini', null);

Dernière modification par alien7 (25-09-2008 20:42:46)


ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

Hors ligne

 

#10 25-09-2008 20:58:55

pozowebs
Membre
Lieu: Gran Canaria
Date d'inscription: 06-07-2008
Messages: 83
Site web

Re: [Résolu][1.6]Zend_Controller_Router_Route_Regex dans config.ini

alien7 a écrit:

Pourquoi le null ?

Code:

$configRoutes = new Zend_Config_Ini('../application/routes.ini', null);

le null c'est pour charger l'ensemble du fichier ini.

voir Table 6.1. Zend_Config_Ini Constructor parameters (http://framework.zend.com/manual/en/zen … s.ini.html):

The [section] within the ini file that is to be loaded. Setting this parameter to null will load all sections. Alternatively, an array of section names may be supplied to load multiple sections.

Hors ligne

 

#11 26-09-2008 01:52:58

pozowebs
Membre
Lieu: Gran Canaria
Date d'inscription: 06-07-2008
Messages: 83
Site web

Re: [Résolu][1.6]Zend_Controller_Router_Route_Regex dans config.ini

haaaa j'ai trouvé! la honte!!!! Il s'agissait d'une erreur de syntaxe dans la ligne suivante:

Code:

noticia.route = "news/(\d+)-(.+)\.html'"

il y a un ' qui se promène à la fin de la ligne avant le "...

bouahhh... Merci à tous pour vos réponses. Je vais pouvoir dormir tranquil maintenant! smile a+!

Hors ligne

 

#12 26-09-2008 09:42:24

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: [Résolu][1.6]Zend_Controller_Router_Route_Regex dans config.ini

Bouuuuuuh...

Je suis passé plusieurs fois sur ce post sans voir cette erreur tongue

Dernière modification par mikaelkael (26-09-2008 09:42:37)


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#13 26-09-2008 13:44:30

pozowebs
Membre
Lieu: Gran Canaria
Date d'inscription: 06-07-2008
Messages: 83
Site web

Re: [Résolu][1.6]Zend_Controller_Router_Route_Regex dans config.ini

mikaelkael a écrit:

Bouuuuuuh...

Je suis passé plusieurs fois sur ce post sans voir cette erreur tongue

hahaha... désolé wink... si vous voulez creer un nouveau topic "Erreurs stupides" je veux bien participer avec cette erreur... wink...

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