Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 11-10-2011 17:29:44

LeNoyauDur
Nouveau membre
Date d'inscription: 11-10-2011
Messages: 4

[Résolu][Version 1.11.10]Paramètre en GET => 404 Url not found

Bonjour,

J'essaie de mettre en place un mini projet avec zend, et j'arrive pas à gérer le passage de paramètre au sein de mon appli.

J'ai donc un lien crée comme ça :

Code:

<a href="<?php  echo $this->url(array('controller'=>'index',
                'action'=>'choixLangue', 'id'=>'fr'));?>" class="langue"><?php 
                echo $translate->_('choixFrancais');?></a>

J'ai paramétré mon Apache pour que le AllowUrl soit à All
Mon htaccess est le suivant :

Code:

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

Mon controller IndexController fait pas grand chose pour le moment :

Code:

public function choixLangueAction()
 {
$this->view->title = "Changement de langue";
}

Et ce qui est bizzare c'est que la page se charge avec mon layout, mais qu'a la place qu content j'ai une erreur page not found

Pour tester j'ai crée une page choixLangue.phtml dans mes views :

Code:

<p>TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT</p>

ça marche pas mieux, et si je regarde mes logs ils me disent :

Code:

127.0.0.1 - - [11/Oct/2011:17:25:35 +0200] "GET /truc/public/index/choixLangue/id/en HTTP/1.1" 404 1888

Je suppose que j'ai mal fait mon paramétrage mais je vois vraiment ce qui plante si quelqu'un à des conseils avisés je suis preneur smile

Dernière modification par LeNoyauDur (12-10-2011 11:08:39)

Hors ligne

 

#2 11-10-2011 18:03:36

bakura
Administrateur
Date d'inscription: 30-01-2010
Messages: 353

Re: [Résolu][Version 1.11.10]Paramètre en GET => 404 Url not found

Je ne m'y connais pas trop en Apache... Mais est-ce que ça marche si tu créés ton URL "à la main" ?

Code:

<a href="/index/choixLangue/id/en" class="langue"><?php 
                echo 'Salut';?></a>

Tu peux recopier l'erreur exacte que te donnes Zend ? (n'oublie pas d'activer l'affichage des exceptions si ce n'est pas déjà fait).

Hors ligne

 

#3 11-10-2011 19:35:30

LeNoyauDur
Nouveau membre
Date d'inscription: 11-10-2011
Messages: 4

Re: [Résolu][Version 1.11.10]Paramètre en GET => 404 Url not found

Hum,

Les exceptions sont bien affichées, l'erreur exacte c'est "Page Not found 404"

J'ai pas essayé de créer mon URL de façon brute puisque le index/choixLangue/id/en ne pointe pas vers une arborescence précise, si j'ai bien compris le principe du framework, le index correspond à mon controller, le choix langue à la fonction de mon controller et le id/en correnspond respectivement à mon paramètre et à sa valeur.

En fait vu que mon layout et que quoi je mette dans ma fonction choixLangue j'ai l'impression de pas repasser par mon controlleur et je comprend vraiment pas pourquoi.

Hors ligne

 

#4 12-10-2011 09:23:31

tdutrion
Administrateur
Lieu: Dijon, Paris, Edinburgh
Date d'inscription: 23-12-2009
Messages: 614
Site web

Re: [Résolu][Version 1.11.10]Paramètre en GET => 404 Url not found

Code:

<a href="<?php  echo $this->url(array('controller'=>'index',
                'action'=>'choix-langue', 'id'=>'fr'));?>" class="langue"><?php 
                echo $translate->_('choixFrancais');?></a>

Ton choixLangue dans l'helper url doit être écrit en minuscule avec un tiret il me semble.

Hors ligne

 

#5 12-10-2011 11:07:45

LeNoyauDur
Nouveau membre
Date d'inscription: 11-10-2011
Messages: 4

Re: [Résolu][Version 1.11.10]Paramètre en GET => 404 Url not found

Ouais c'était ça enfin presque, Zned accepte pas les majuscules dans les actions ^^
j'ai donc dans mon index :

Code:

<a href="<?php  
                echo $this->url(array('controller'=>'index',
                'action'=>'choixlangue', 'id'=>'fr'));?>" class="langue"><?php 
                echo $translate->_('choixFrancais');?></a>

et dans mon controller :

Code:

public function choixlangueAction()
{
        $this->view->title = "Changement de langue";
}

Merci Théocrite sinon j'aurais jamais trouvé je crois smile

Hors ligne

 

#6 12-10-2011 11:49:25

tdutrion
Administrateur
Lieu: Dijon, Paris, Edinburgh
Date d'inscription: 23-12-2009
Messages: 614
Site web

Re: [Résolu][Version 1.11.10]Paramètre en GET => 404 Url not found

Normalement il accepte, avec comme convention que la majuscule soit remplacé par un tiret suivit de la lettre en minuscule dans les appels (camel case dans le code, mais user-fiendly text dans les urls).

Hors ligne

 

#7 12-10-2011 14:14:57

LeNoyauDur
Nouveau membre
Date d'inscription: 11-10-2011
Messages: 4

Re: [Résolu][Version 1.11.10]Paramètre en GET => 404 Url not found

Je sais pas, du coup j'ai commencé par laisser la majuscule dans ma fonction et remplacée par - + lettre en minuscule mais il en veut vraiment pas. (Je viens de re-tester ça passe pas).

J'ai quand même ma solution et c'est ça qui compte ^^

Hors ligne

 

#8 12-10-2011 14:16:22

tdutrion
Administrateur
Lieu: Dijon, Paris, Edinburgh
Date d'inscription: 23-12-2009
Messages: 614
Site web

Re: [Résolu][Version 1.11.10]Paramètre en GET => 404 Url not found

C'est sûr, même si ça perd en lisibilité c'est toujours ça smile

Hors ligne

 

#9 12-10-2011 18:29:15

bakura
Administrateur
Date d'inscription: 30-01-2010
Messages: 353

Re: [Résolu][Version 1.11.10]Paramètre en GET => 404 Url not found

Oui effectivement l'erreur était évidente en fait big_smile.

Normalement ça devrait bien marcher : choixLangueAction => choix-langue

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