Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 03-07-2008 09:55:06

longmaomao
Membre
Date d'inscription: 19-06-2008
Messages: 32

Comment faire passer un param à la fin de l'url

Bonjour,

            J'ai une question toute simple.
            J'utilise zend_controller, zend_layout etc dans mon projet, je voudrais juste passer un param dans certaines urls. Sans utiliser zend framework, on peux faire par exemple:
            http://localhost/votre url/toto.php?a=toto

            Avec zend framework, je ne sais pas trop.
            Je suppose $this->getRequest()->setParam("param", "valeur")?
       
            Merci d'avance.

Hors ligne

 

#2 03-07-2008 10:15:32

fte
Membre
Lieu: 06 13 83
Date d'inscription: 16-05-2008
Messages: 112
Site web

Re: Comment faire passer un param à la fin de l'url

Le GET  :
soit : /controleur/action/format/json
ou : /controleur/action?format=json

$this->view->toto= $this->_request->getParam('format');

dans la vue action.phtml:

<? echo $this->toto ?> affichera :
json

Hors ligne

 

#3 03-07-2008 10:19:25

longmaomao
Membre
Date d'inscription: 19-06-2008
Messages: 32

Re: Comment faire passer un param à la fin de l'url

merci, mais ma question est comment faire passer le param

       /controleur/action?format=json      ----------> comment je peux ajouter "format=jason" après "/controleur/action"

Hors ligne

 

#4 03-07-2008 10:28:39

longmaomao
Membre
Date d'inscription: 19-06-2008
Messages: 32

Re: Comment faire passer un param à la fin de l'url

si j'explique mon problème concrètement, J'ai un contrôleur "AuthController", je voudrais afficher mes messages d'erreurs. J'ai deux solutions:

                  1. passer les messages d'erreurs par GET. C'est ma question au dessus.
                  2. définir la variable $this->view->message="message_d'erreurs", mais le problème c'est que je n'ai pas de "../views/auth/login.phtml" comme une vue, j'affiche le message sur la page d'accueil, c'est à dire "/controller/index", le message que je définis dans "AuthController" n'existe plus dans "IndexController". Je ne sais pas comment coder pour ce problème, donc j'ai choisi la solution 1 que je ne préfère pas. Si quelqu'un peux m'indiquer sur cette solution, ça sera très gentil.

Hors ligne

 

#5 03-07-2008 11:03:43

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

Re: Comment faire passer un param à la fin de l'url

As tu pensé à utiliser la session??

Hors ligne

 

#6 03-07-2008 11:37:40

ichevc02
Membre
Date d'inscription: 25-07-2007
Messages: 127

Re: Comment faire passer un param à la fin de l'url

Bonjour,

pour les messages entre pages, Il existe un helper d'action :
le flashmessenger doc

Dernière modification par ichevc02 (03-07-2008 11:37:54)

Hors ligne

 

#7 03-07-2008 11:42:31

longmaomao
Membre
Date d'inscription: 19-06-2008
Messages: 32

Re: Comment faire passer un param à la fin de l'url

Mr.MoOx a écrit:

As tu pensé à utiliser la session??

oui, mais juste pour les messages d'erreurs,  c'est pas un peu trop léger pour l'utilisation de session?

Hors ligne

 

#8 03-07-2008 11:43:13

samah
Membre
Lieu: france
Date d'inscription: 24-04-2008
Messages: 17

Re: Comment faire passer un param à la fin de l'url

Bonjour,
c par le get c plus facile, moi mon pb, identifiant é passé dans l'url mais je n'arrive pas à l'afficher?
http://localhost/gestStock/gestion/produitForm/identifiant/85    url dc c l'identifiant 85.

j'ai écrit ce fragement de code qui fait parti de la fonction produitForm
//Récupération des données du modèle s'il existe
              $tableModele     = new mod_TableModele;   
              $id_table_modele = $_GET["identifiant"];
              
              if (isset($id_table_modele))
               {
               $this->view->id_table_modele = $id_table_modele;
               $produit = $tableModele->getModeleByID($id_table_modele);
              
                }

Hors ligne

 

#9 03-07-2008 11:44:05

longmaomao
Membre
Date d'inscription: 19-06-2008
Messages: 32

Re: Comment faire passer un param à la fin de l'url

ichevc02 a écrit:

Bonjour,

pour les messages entre pages, Il existe un helper d'action :
le flashmessenger doc

merci beaucoup, je l'ai vu, mais j'avais pas trop compris que ça servait à quoi, super, je vais le lire.

Hors ligne

 

#10 03-07-2008 11:46:34

longmaomao
Membre
Date d'inscription: 19-06-2008
Messages: 32

Re: Comment faire passer un param à la fin de l'url

samah a écrit:

Bonjour,
c par le get c plus facile, moi mon pb, identifiant é passé dans l'url mais je n'arrive pas à l'afficher?
http://localhost/gestStock/gestion/produitForm/identifiant/85    url dc c l'identifiant 85.

j'ai écrit ce fragement de code qui fait parti de la fonction produitForm
//Récupération des données du modèle s'il existe
              $tableModele     = new mod_TableModele;   
              $id_table_modele = $_GET["identifiant"];
              
              if (isset($id_table_modele))
               {
               $this->view->id_table_modele = $id_table_modele;
               $produit = $tableModele->getModeleByID($id_table_modele);
              
                }

Comment as tu fait passé ton id "85", s'il te plaît?

Hors ligne

 

#11 03-07-2008 11:51:12

samah
Membre
Lieu: france
Date d'inscription: 24-04-2008
Messages: 17

Re: Comment faire passer un param à la fin de l'url

pour moi il s'agit d'une redirection
je te passe le fragment du code:

Code:

 $this->_redirect(APP_ABSURL."produit/entreePageProduit?identifiant=".$id_table_produit);
            
       }
    
     public function entreePageProduitAction()
     {
             $tableProduit     = new mod_TableProduit;    
             $produit=array();
             $id_table_produit = $_GET["identifiant"];
     
     $this->view->id_table_produit = $id_table_produit;
     $produit = $tableProduit->getProduitsByID($id_table_produit);
    
     $this->view->produit = $produit ;
     echo $this->view->render('ma_pageProduit.php');
      
    
      }

EDIT: merci de baliser le code smile

Dernière modification par Mr.MoOx (03-07-2008 13:56:57)

Hors ligne

 

#12 03-07-2008 14:09:56

longmaomao
Membre
Date d'inscription: 19-06-2008
Messages: 32

Re: Comment faire passer un param à la fin de l'url

merci samah, pour afficher tu peux essayer $this->getRequest()->getParam("identifiant")

Hors ligne

 

#13 03-07-2008 15:21:18

samah
Membre
Lieu: france
Date d'inscription: 24-04-2008
Messages: 17

Re: Comment faire passer un param à la fin de l'url

de rien, j'arrive à mettre l'identifiant dans l'url mais mon problème c'est l'afficher dans un formulaire, j'ai déjà posté cette question mais je n'ai pas eu de réponse

Hors ligne

 

#14 03-07-2008 16:15:51

fte
Membre
Lieu: 06 13 83
Date d'inscription: 16-05-2008
Messages: 112
Site web

Re: Comment faire passer un param à la fin de l'url

Pour compléter, le view helper url permet de contruire des urls depuis une vue par exemple :

Code:

....
<a href="<?php echo $this->url ( array ('controller' => 'index', 'action' => 'article', 'id' => $this->id ) )?>">Cliquez moi dessus !</a>

va créer :
/index/article/id/12

Hors ligne

 

#15 03-07-2008 16:41:22

samah
Membre
Lieu: france
Date d'inscription: 24-04-2008
Messages: 17

Re: Comment faire passer un param à la fin de l'url

et pour afficher?

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