Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Voila y'a quelque chose qui a changé avec getParam sur une URL propre?
parceque avec une adresse du genre
http://localhost/Monprojet/html/index/affich/num/1
et en fesant
$id = $this->_request->getParam('num');
ben je n'obtient rien
la seul chose que je redoute c'est un changement due a l'utilisation des "layout" vu que dans de vieux projet sous ZF 1.0 ça fonctionné trés bien...
une piste s'il vous plais
Merci d'avance
Hors ligne
Quelles sont tes routes ? Les as tu toi même définis ?
Car si on regarde ton url :
Monprojet/html/index/affich/num/1
Monprojet/html/ = la racine contenant l'index.php ?
index = ton controller ?
affich = ton action ?
Il nous manque des infos sur ton code pour pouvoir t'aider.
Mais pour répondre à ta question initiale, rien n'a changé de ce côté là depuis la 1.0.
Hors ligne
ben je n'ai spécifié aucune route tout est par défaut
et effectivement mon bootstrap se trouve bel et bien dans le repertoire "html"
index = est mon controller
affich = est mon action
voila et merci d'avance
Hors ligne
Hello,
Pour te dire que je n'ai pas eu de pb concernant getParam() entre la version 1.0.3 et là 1.5 que j'utilise aujourd'hui. Par contre je l'utilise de cette façon :
$id = (int)$this->request->getParam('num',0);
Hors ligne
désolé withspirit j'ai essayé mais nada
Hors ligne
tu peux nous donner plus de code ? Par exemple, affichAction, la vue affich.phtml, etc. Tu te focalises peut-être sur getParam mais je peut-être que le pb est vraiment ailleurs.
Dernière modification par whitespirit (10-04-2008 12:20:28)
Hors ligne
alors mon action
public function affichAction() $num1 = (int)$this->_request->getParam('num'); if ($num1 > 0){ $news = new News(); $select = $news->select()->where('num = ?', $num1); $this->view->news = $news->fetchAll($select); $this->_helper->layout->setLayout('layoutvierge'); }
ma vue Affiche.phtml
<div id="boudi"> <div id="anim"></div> <div id="texti"> <?php foreach($this->news as $news) : ?> <span id="styltitrsmall"><a href="#"><?php echo $this->escape($news->titr);?> </a></span> <?php endforeach; ?> </div> <div id="zonejaune"></div> </div> </div>
Rien de bien extraordinaire quoi
A noté que l'orsque je donne une valeur fixe a num1 le tout s'affiche trés bien d'ou ma focalisation sur le getParam
Merci
Hors ligne
En passant, il y'a qq chose qui m'interpelle. Tu dis que /html est la racine de ton site ou se trouve ton index.php, ok ? Alors tu as mis tes controlleurs directement à la racine ? Normalement, ton controlleur se trouve dans un répertoire /controllers et tes vues dans views/scripts/ et le tout dans un répertoire par exemple /default. Si tu as bien cette architecture, ton url devrait-être
http://localhost/Monprojet/html/default/index/affich/num/1
Hors ligne
t'es sure Withspirit?
parceque... ben :
$controller->setControllerDirectory('../application/default/controllers');
en tout cas en rajoutant "/default/" a mon lien ça ne marche pas
mais en ayant une URL du type
http://localhost/Monprojet/html/index.php/affich/?num=2
ça fonctionne...je suis perdu
ça ne serait pas une affaire de .htaccess ou de routage?
voila help!!!
et merci
Hors ligne
essaie d'écrire cette ligne là plutot :
$frontController->setControllerDirectory('./application/default/controllers');
Et réessaie avec l'url que je t'ai donner si avec la tienne ça ne marche toujours pas.
Désolé de ne pouvoir t'aider plus.
Hors ligne
Tu peux lister le contenu de ton htaccess ?
A mon avis, tu as oublié un truc dedans, et je pense savoir quoi !
Un RewriteBase ?
Dernière modification par apsy (10-04-2008 16:23:54)
Hors ligne
ben y'a rien d'exceptionnel
RewriteEngine on RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
A signalé que je suis sous Wamp 2
Voila Merci
Dernière modification par zendframwork (12-04-2008 11:25:48)
Hors ligne
Pense à ajouter un
"RewriteBase Monprojet/html"
entre tes deux lignes dans ton htaccess
Apsy
Dernière modification par apsy (13-04-2008 18:57:16)
Hors ligne