Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
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
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
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
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
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
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
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
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
pour moi il s'agit d'une redirection
je te passe le fragment du 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
Dernière modification par Mr.MoOx (03-07-2008 13:56:57)
Hors ligne
merci samah, pour afficher tu peux essayer $this->getRequest()->getParam("identifiant")
Hors ligne
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
Pour compléter, le view helper url permet de contruire des urls depuis une vue par exemple :
.... <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
et pour afficher?
Hors ligne