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 :

Passer un paramètre module backed [1.x]


Sujet :

Symfony PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 55
    Points : 33
    Points
    33
    Par défaut Passer un paramètre module backed
    Bonjour
    J'ai un module qui affiche des articles (en backend)
    ../backend_dev.php/articles

    Je voudrais que selon l'appel il n'affiche ques des articles appartenant à une rubrique
    (where rubriques_id = XX)

    Je me suis appuyé la dessus :
    http://www.developpez.net/forums/d95...-table_method/

    j'ai donc utilisé le generator.yml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
          list:    
                table_method: listNews
    La class table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public function listNews( Doctrine_Query $q = null)
    	{	
     
    	$idCat = 
      	$q->andWhere ( 'r.rubriques_id 	 = 6');
        	return $q->execute();
    Mais comment faire pour que la rubrique s'exécute sur un paramètre passé en url

    Dans mon cas
    remplacer le 6 en dur par quelque chose du style
    /backend_dev.php/articles/rubriques_id = 6

    J'ai essayé ça
    url: /:module/:action/:rubriques_id
    Mais sans succès.

    [I]C'est sûrement une question simple pour vous[, mais alors pour moi.../I]

  2. #2
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Le problème est que les objets du modèle n'ont pas accès à sfRequest et que tu n'as pas accès au code (du générateur) pour envoyer le sfRequest à la méthode...


    Tu peux récupérer la requête dans le modèle par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sfRequest = sfContext::getInstance()->getRequest();
    A partir de là, récupérer ton paramètre ne devrait pas être un problème.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 55
    Points : 33
    Points
    33
    Par défaut Mais commment passer le parametre
    Oui je comprend le principe

    Mais comment passer cette valeur en parametre
    quelque chose comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo url_for('articles/index/ rubriques_id=2 ' ); ?>"
    (mais ça, ça ne fonctionne pas)

    Pi

  4. #4
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Il faut définir une route

    Il faut passer le paramètre comme tu le fait à la route

    Il suffit alors de le récupérer dans la méthode, comme si tu était dans le contrôleur.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 55
    Points : 33
    Points
    33
    Par défaut ça marche
    Merci

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 30/12/2004, 12h01
  2. passer des paramétres à un fichier sql
    Par vbcasimir dans le forum Oracle
    Réponses: 2
    Dernier message: 21/12/2004, 18h08
  3. Passer en paramètre d'une fonction (...)
    Par Captain_JS dans le forum C++
    Réponses: 5
    Dernier message: 03/11/2004, 07h18
  4. Passer en paramètre un chemin dans redirection
    Par croco83 dans le forum ASP
    Réponses: 5
    Dernier message: 07/05/2004, 08h30
  5. [struts] passer un paramètre de page via un findForward
    Par Boosters dans le forum Struts 1
    Réponses: 4
    Dernier message: 08/03/2004, 17h35

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