Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/05/2011, 13h37   #1
Invité de passage
 
Inscription : février 2010
Messages : 38
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 38
Points : 2
Points : 2
Par défaut Generator et application auto d'un filter

Bonjour tout le monde ,

Je souhaite afficher les elements de mon generator.yml par rapport à la valeur d'un champs de mon filter ,

J'ai un champs Type , si je le met à 1 cela affiche les elements de mon generator à 1 et si j'ai un champs type à 0 , cela affiche les elements de mon generator à type =0 . Je souhaiterais savoir comment faire pour que cela se fasse automatiquement ( donc sans que j'ai a mettre 1 ou 0 dans mes filters).
Mon objectif ici est que lorsque j'arrive sur la page de mon module de backend je sois tout de suite sur un tri de mes elements avec type = 0

Merci d'avance.
dnd888 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 13h47   #2
Membre habitué
 
Homme Ludovic
Étudiant
Inscription : janvier 2011
Messages : 124
Détails du profil
Informations personnelles :
Nom : Homme Ludovic
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 124
Points : 140
Points : 140
Ca peut peut-être t'aider : http://www.symfony-project.org/refer...er_06_sub_sort
PeytaWodka est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 25/05/2011, 14h11   #3
Invité de passage
 
Inscription : février 2010
Messages : 38
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 38
Points : 2
Points : 2
Désolé ca ne m'aide pas , tu m'as donné un lien qui montre le tri dans une list pas qui assigne des valeurs de filters par défaut :/
dnd888 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 14h50   #4
Membre habitué
 
Homme Ludovic
Étudiant
Inscription : janvier 2011
Messages : 124
Détails du profil
Informations personnelles :
Nom : Homme Ludovic
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 124
Points : 140
Points : 140
Désolé, une erreur de ma part, j'était parti sur le tri.
Pour mettre un filtre par défaut, je ne vois pas comment faire.
PeytaWodka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 16h12   #5
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Regarde bien quant tu utilises le filtre. Tu vas voir que l'action du bouton filtre est un GET. Je n'ai pas la structure sous les yeux, mais cela doit ressembler à un truc du genre module/action?filtre&truc=bidule&bazarre=machin.

Il te suffit de générer le même get et d'appeler ton module avec. Tu va afficher tes données avec le filtre.

Par contre, le données resteront filtrable, un utilisateur va donc pouvoir modifier le filtre par après, ce qui peut, suivant les cas, être un avantage ou un handicap.
__________________
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 !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 17h52   #6
Invité de passage
 
Inscription : février 2010
Messages : 38
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 38
Points : 2
Points : 2
Je m'y connais mal en backend , quel est l'endroit ou tu met le code de l'appel du filtre ?

Et si je hide ce filtre , il pourra quand meme ?
dnd888 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 18h00   #7
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Jamais essayé. Normalement cela pourrait marcher. Mais la donnée sera visible dans le get, et donc susceptible de modification.

La seul fois où j'ai dû imposer de type de filtre (je ne sais plus si c'était pour un auto-généré, mais cela devrait fonctionner pareil) j'ai créé une méthode dans le modèle qui retournait le query plutôt que de laisser la méthode de base qui retourne toute la table. Dans le generator.yml, tu peux préciser la méthode du modèle à utiliser. En parallèle, tu stockes dans l'objet utilisateur, dans un paramètre, la valeur que tu veux retrouver, forcer. Dans ta méthode, tu crées le query en te basant sur la valeur stockée dans ton objet user.

Donc, plus rien de visible et impossible de le modifier.
__________________
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 !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 12h27   #8
Membre habitué
 
Avatar de Maerlyn31
 
Homme Baptiste Naudinat
Développeur Web
Inscription : mai 2011
Messages : 70
Détails du profil
Informations personnelles :
Nom : Homme Baptiste Naudinat
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2011
Messages : 70
Points : 146
Points : 146
Un article que j'ai lu il n'y a pas longtemps, et qui pourra sans doute t'intéresser :

http://www.lexik.fr/blog/symfony/sym...on-backend-958 => partie "Les filtres au service de la navigation"
Maerlyn31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 13h54   #9
Futur Membre du Club
 
Homme Robin
Etudiant - DUT informatique
Inscription : mai 2011
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme Robin
Âge : 20
Localisation : France

Informations professionnelles :
Activité : Etudiant - DUT informatique

Informations forums :
Inscription : mai 2011
Messages : 40
Points : 17
Points : 17
J'ai eu une question similaire y'à pas longtemps, tu doit pouvoir l'adapter facilement

http://www.developpez.net/forums/d10...ters-champ-id/

Si le filtre est hide ça fonctionne aussi.

Si tu veux qu'automatiquement le filtre soit mis (sans passé par un autre module) n'utilise pas les flash et utilise directement setFilters (les flash servants à transmettre une information le temps d'une requête)
Mordri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 16h45   #10
Invité de passage
 
Inscription : février 2010
Messages : 38
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 38
Points : 2
Points : 2
Merci pour cet information ,

ca marche mais pour cela je dois charger 2 fois la page , comment faire pour que ca fonctionnes au premier chargement ? ( j'utilise executeIndex ) , si je fais un preExecute ca va marcher mais je ne pourrais plus modifier les options de filtre ce qui ne me convient pas ,

Merci d'avance
dnd888 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 09h21   #11
Invité de passage
 
Inscription : février 2010
Messages : 38
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 38
Points : 2
Points : 2
j'ai tenté un $this->redirect mais ca me crée une boucle de redirection , aidez moi je ne sais plus quoi faire ...
dnd888 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 09h55   #12
Futur Membre du Club
 
Homme Robin
Etudiant - DUT informatique
Inscription : mai 2011
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme Robin
Âge : 20
Localisation : France

Informations professionnelles :
Activité : Etudiant - DUT informatique

Informations forums :
Inscription : mai 2011
Messages : 40
Points : 17
Points : 17
alors la je ne sais pas trop pourquoi.

Montre un peu tes codes histoire d'essayer de voir (je dit bien essayer je suis aussi un débutant avec sf)
Mordri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 11h23   #13
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Il faut deux routes et deux adresses !

Une pour le retour du form qui met en forme vers...

L'autre pour afficher les données...

Si tu fais, comme je le soupçonne, un redirect() vers la même route, ça va tourner en rond !
__________________
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 !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 14h17   #14
Membre habitué
 
Avatar de Nico_F
 
Homme Nicolas
Développeur Web
Inscription : avril 2011
Messages : 95
Détails du profil
Informations personnelles :
Nom : Homme Nicolas
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Communication - Médias

Informations forums :
Inscription : avril 2011
Messages : 95
Points : 142
Points : 142
En effet, l'action du filtre est un GET, le souci c'est qu'il n'y a aucun paramètre visible dans l'URL avec les filtre de l'admin gen'.

Par contre tu peux retrouver dans ta debug toolbar les filtres appliqués dans le USER dans l'attributeHolder. Pour ton module, au premier chargement tu auras un attribut "nomDuModule.sort [null, null]". Dès le premier filtre que tu appliqueras, il y aura en plus un attribut "nomDuModule.filters" avec tous les champs sur lesquels il est possible de faire un filtre.

En reprenant cette structure, ne serait-il pas possible d'appliquer ton filtre par défaut en attaquant directement cet attribut "nomDuModule.filters" dans la session utilisateur, quitte à le créer s'il n'existe pas encore ? (en prenant bien soin de respecter la structure de celui-ci évidemment)
Nico_F est déconnecté   Envoyer un message privé Réponse avec citation 01
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h31.


 
 
 
 
Partenaires

Hébergement Web