Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 01-10-2008 20:25:01

DarKA
Membre
Date d'inscription: 18-07-2007
Messages: 84

[Résolu]Zend View Helper - Référencement - URL Rewriting

Bonour,
Je voudrais vous soumettre un immense problème pour moi :

Après avoir créé mon site internet, je voulais passer par la case référencement, et donc formater à ma guise les différents liens de mon site internet.

J'ai donc commencé par créer une nouvelle route :

Code:

$route = new Zend_Controller_Router_Route(
    ':pays/:date',
    array(
        'controller' => 'accueil',
        'action'     => 'index',
        'pays'     => null,
        'date'     => null)
);
$router->addRoute('accueil', $route);

Donc en fait je voulais avoir pour url : www.monsite.com/france/2008

Il semblerais que étant donné que pays et date sont facultatifs il fallais que je les set à null pour qu'ils "disparaissent" quand il ne sont pas setté.

Par ce qu'en fait pour tous mes liens j'utilise le Zend Controller Action Helper Url, qui à partir de paramètres me revoie un lien, en fonction des routes.

Donc par la suite j'ai pensé utiliser www.monsite.com/france où donc :date prendra pour valeur sa valeur défaut, soit NULL, il serait donc inactif. Ca marche quand la valeur défault est différente de NULL, mais quand elle est égale à NULL, j'ai une exception qui semblerais être en rapport avec Zend action helper url :

Code:

Uncaught exception 'Zend_Controller_Router_Exception' with message 'date is not specified'

L'erreur se produit par ce que j'ai déclaré :

Code:

$this->url(array('pays'=>$this->pays),'accueil',false,true);

Donc ici pays prend une nouvelle valeur, et je pensais que date prenais sa valeur par défault vu que je n'avais rien spécifié de particulier pour lui, soit NULL.

J'ai beau avoir essayé de comprendre via la doc, ou via des recherches sur le net, je suis resté sur ma faim sur ce chapitre.

Après j'aimerais bien savoir quoi choisir entre setter les routes via du script, ou via un fichier config.

Merci de me répondre

++

Dernière modification par DarKA (02-10-2008 19:04:36)

Hors ligne

 

#2 02-10-2008 09:08:03

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu]Zend View Helper - Référencement - URL Rewriting

Petit remarque, pour des booléens, ont met pas de quotes... donc exit 'false' et 'true'... bonjour false et true...

Hors ligne

 

#3 02-10-2008 13:16:53

DarKA
Membre
Date d'inscription: 18-07-2007
Messages: 84

Re: [Résolu]Zend View Helper - Référencement - URL Rewriting

Oooops... C"est une faute de frappe en recopiant le code... mais ce n'est pas la le soucis lol...

C'est dommage que l'on ne puisse pas trouver de sources... La documentation est quasi inexistant sur ce sujet la.

Dernière modification par DarKA (02-10-2008 13:34:14)

Hors ligne

 

#4 02-10-2008 18:52:27

DarKA
Membre
Date d'inscription: 18-07-2007
Messages: 84

Re: [Résolu]Zend View Helper - Référencement - URL Rewriting

J'ai trouvé une solution.
Pour éviter l'exception je lui passe ses variables désirées avec pour valeur la valeur vide.

Code:

$this->url(array('pays'=>$this->pays,'date'=>''),'accueil',false,true);

Je trouve ca laid. Mais je n'ai trouvé que ca qui marche.J'espère que ca pourra aider qui sais.

Dernière modification par DarKA (02-10-2008 19:04:09)

Hors ligne

 

#5 03-10-2008 09:25:55

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu]Zend View Helper - Référencement - URL Rewriting

Et ça?

Code:

$this->url(array('pays'=>$this->pays),'accueil',true);

Je sais pas pourquoi tu met 4 paramètres alors que la doc en montre 3...

Hors ligne

 

#6 03-10-2008 12:00:13

DarKA
Membre
Date d'inscription: 18-07-2007
Messages: 84

Re: [Résolu]Zend View Helper - Référencement - URL Rewriting

Ben en fait le véritable prototype de la fonction est :

Code:

 url(array $urlOptions = array(), $name = null, $reset = false, $encode = true)

Ca montre d'autant plus que la doc est un peu légère à certains endroits lol

Dernière modification par DarKA (03-10-2008 12:01:12)

Hors ligne

 

#7 03-10-2008 12:03:31

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu]Zend View Helper - Référencement - URL Rewriting

As tu essayé de mettre reset à true??

Hors ligne

 

#8 03-10-2008 12:05:46

DarKA
Membre
Date d'inscription: 18-07-2007
Messages: 84

Re: [Résolu]Zend View Helper - Référencement - URL Rewriting

Oui aussi, mais ca ne change rien.

Hors ligne

 

#9 03-10-2008 12:07:37

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu]Zend View Helper - Référencement - URL Rewriting

C'est très étrange, Je n'ai jusqu'à aujorud'hui jamais eu ce problème...

Hors ligne

 

#10 19-10-2008 00:46:51

Elvis
Nouveau membre
Date d'inscription: 05-02-2008
Messages: 6

Re: [Résolu]Zend View Helper - Référencement - URL Rewriting

Salut, je suis tombé sur ce post par hasard. Il date un peu mais je réponds quand même, ça pourra toujours aider smile

Dans ta route, tu as

Code:

':pays/:date'

tu indiques qu'il y a deux paramètres : pays et date.

Dans ton appel à cette route avec l'helper url :

Code:

$this->url(array('pays'=>$this->pays),'accueil',false,true);

Tu définis le paramètre pays.

Tu as l'erreur date is not specified

C'est très explicite, il suffit qu'en plus de pays, tu définisses date, et le tour est joué.

Hors ligne

 

#11 02-11-2008 11:16:40

Cidrolin
Membre
Date d'inscription: 21-08-2008
Messages: 74

Re: [Résolu]Zend View Helper - Référencement - URL Rewriting

Salut,

avez-vous réussi à corriger le problème ?

Je suis moi-même confronté à la même chose, mais je n'ai pas voulu créer un post. Pourtant j'ai reproduit le code de la doc, l'ai réadapté, mais il n'y a rien de sorcier, et je ne sais pas si c'est dû au routage. J'ai l'erreur username is not specified et comme route j'utilise :

$router = $frontController->getRouter();

$route = new Zend_Controller_Router_Route(
    'user/:username',
    array(
        'controller' => 'users',
          'action'     => 'view',
    )
);
$router->addRoute('user', $route);
$frontController->setRouter($router);

et dans mon controller :

echo '<a href="'.$this->view->url(array('username'=>'toto'), 'user'.'">Toto</a>';

J'arrive bien à accéder à l'action "view" de "users", donc là pas de souci au niveau du routage. Si je fais des échos puis exit dans ma méthode, j'ai bien le résultat de mes échos qui s'affiche. Si je vide le contenu de ma view associée, j'ai toujours le message d'erreur. Et si je change le render pour mettre une autre view, j'ai encore le message d'erreur
.
Quelqu'un a-t-il une idée ?

Merci

Hors ligne

 

#12 03-03-2009 00:05:39

rdave
Nouveau membre
Date d'inscription: 20-01-2009
Messages: 8

Re: [Résolu]Zend View Helper - Référencement - URL Rewriting

DarKA a écrit:

Pour éviter l'exception je lui passe ses variables désirées avec pour valeur la valeur vide.

Code:

$this->url(array('pays'=>$this->pays,'date'=>''),'accueil',false,true);

Je trouve ca laid. Mais je n'ai trouvé que ca qui marche.J'espère que ca pourra aider qui sais.

Pareil, même problème et pas trouvé de meilleure solution, d'ailleurs si tu mets "null" (sans les guillemets) ca marche pas non plus...

Hors ligne

 

#13 05-05-2010 18:00:02

cold
Nouveau membre
Date d'inscription: 05-05-2010
Messages: 1

Re: [Résolu]Zend View Helper - Référencement - URL Rewriting

Excusez moi de ressuscité ce sujet mais les derniers posts ne semblait pas trouver le sujet résolu.

Je pense que tout vient du premier post ou la personne a tester avec des valeur null :

Code:

$route = new Zend_Controller_Router_Route(
    ':pays/:date',
    array(
        'controller' => 'accueil',
        'action'     => 'index',
        'pays'     => null,
        'date'     => null)
);
$router->addRoute('accueil', $route);

Il faut faut juste les remplacer par des quotes vides ('').
A ce moment plus besoin de les préciser dans l'array d'option donné à l'helper URL.
Tester et approuvé smile

Dernière modification par cold (05-05-2010 18:01:09)

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