IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

render / redirect et paramètres [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 36
    Points : 20
    Points
    20
    Par défaut render / redirect et paramètres
    Bonjour à tous,

    1 - J'ai un formulaire de recherche qui propose 4 critères de recherche et appelle l'action rechercheLdapAction

    2- cette fonction
    - se connecte à l'annuaire ldap
    - effectue la recherche selon le critère renseigné
    - retourne un objet $result
    si KO => on réaffiche le formulaire avec un message d'erreur
    si OK => appel la fonction setIndividuAction qui
    - crée un nouvel individu
    - l'hydrate avec les informations de $result
    - retourne un individu $individu
    si OK => je souhaite rediriger sur la page affichage.html.twig qui liste les attributs de l'individu en question.

    Mon Problème :
    - ca marche très bien si je fais un render
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return $this->render('adminToolsAnnuaireBundle:Annuaire:affichage.html.twig', array('individu' => $individu));
    - ca ne marche pas si je fais un redirect
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return $this->redirect($this->generateUrl('affichage'), array('individu' => $individu));
    je pense qu'il s'agit d'un passage de paramètres qui ne se fait pas, mais après avoir essayé plusieurs actions, je n'y arrive toujours pas.

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    772
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2004
    Messages : 772
    Points : 872
    Points
    872
    Par défaut
    Les paramètres doivent passés à la fonction generateUrl et non redirect :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return $this->redirect($this->generateUrl('affichage' array('individu' => $individu)));
    • Mon blog PHP : http://blog.alterphp.com
    • "Peace cannot be kept by force, it can only be achieved by Understanding" -- Albert Einstein

  3. #3
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    l'objet individu ne semble toujours pas etre passé en paramètres, j'ai l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Variable "individu" does not exist in adminToolsAnnuaireBundle:Annuaire:affichage.html.twig at line 10
    500 Internal Server Error - Twig_Error_Runtime

  4. #4
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2011
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 477
    Points : 677
    Points
    677
    Par défaut
    Bonsoir,

    Je ne pensais pas que l'on pouvait passer un objet dans la response.

    Du coup, j'ai géré ça en session. J'injecte l'objet en session et le je le récupère dans l'action cible.

    Après quelques recherches voilà un lien intéressant http://stackoverflow.com/questions/9...irect-symfony2

  5. #5
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    oui, je crois que je vais adopter la session aussi
    sinon faut que j'appelle ma fonction rechercheLdapAction dans ma function affichageAction pouvoir avoir l'objet (return $individu depuis rechercheLdapAction et non redirect ou render) d'après ce que j'ai compris.
    Merci

  6. #6
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2011
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 477
    Points : 677
    Points
    677
    Par défaut
    Pour y avoir réfléchi, quand tu génère l'url avec generateUrl, c'est comme ci, tu tapais l'adresse dans ton navigateur.
    J'ai vu que tu avais la méthode forward qui lui envoi directement via le contrôleur.
    De toute façon, pour afficher, une vue, il faut envoyer les objets par l'intermédiaire de render.

  7. #7
    Membre éclairé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    772
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2004
    Messages : 772
    Points : 872
    Points
    872
    Par défaut
    +1 pour le forward au lieu du redirect. Et là tu peux passer l'objet directement
    • Mon blog PHP : http://blog.alterphp.com
    • "Peace cannot be kept by force, it can only be achieved by Understanding" -- Albert Einstein

  8. #8
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    ben bof...
    ca s'affiche toujours DANS ma page d'appel
    forward ou render, ca a exactement le meme resultat chez moi

  9. #9
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    et sinon j'ai l'erreur suivante :
    Variable "individu" does not exist in adminToolsAnnuaireBundle:Annuaire:affichage.html.twig at line 10
    le passage de l'objet ne se fait pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     return $this->forward('adminToolsAnnuaireBundle:Annuaire:affichage', array('individu' => $individu));
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     public function affichageAction($individu)
        {
     
            return $this->render('adminToolsAnnuaireBundle:Annuaire:affichage.html.twig');
        }

  10. #10
    Membre éclairé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    772
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2004
    Messages : 772
    Points : 872
    Points
    872
    Par défaut
    Ce n'est pas la même erreur. Là c'est ta vue (twig) qui ne reçoit pas la variable "individu" depuis le contrôleur...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    return $this->render('adminToolsAnnuaireBundle:Annuaire:affichage.html.twig', array('individu' => $individu));
    • Mon blog PHP : http://blog.alterphp.com
    • "Peace cannot be kept by force, it can only be achieved by Understanding" -- Albert Einstein

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Aide urlrewriting / redirection avec paramètres
    Par loloing dans le forum Apache
    Réponses: 1
    Dernier message: 18/01/2009, 14h22
  2. redirection avec paramètre
    Par mademoizel dans le forum ASP
    Réponses: 2
    Dernier message: 14/01/2008, 22h19
  3. Redirection avec paramètre (GET)
    Par gufra dans le forum JSF
    Réponses: 4
    Dernier message: 06/11/2007, 15h10
  4. Redirection avec paramètres pour la vue
    Par sir_gcc dans le forum Zend Framework
    Réponses: 2
    Dernier message: 16/10/2007, 21h12
  5. [Struts]Redirection avec paramètre
    Par klereth dans le forum Struts 1
    Réponses: 2
    Dernier message: 29/06/2005, 10h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo