Bonjour, J'ai donc tenté mon "coup de trafalgar". J'ai généré le CRUD de sfGuardUserProfile et j'ai voulu créer dans la fonction "search"
public function executeSearch() { $this->sf_guard_user_profiles = sfGuardUserProfilePeer::doSelectJoinsfGuardUser(new Criteria()); } Symfony m'a retourné le message "Call to undefined method sfGuardUser::initsfGuardUserProfiles()". Quand je fais une recherche sur ton mon projet sur "initsfGuardUserProfiles", je le trouve à deux reprises dans BasesfGuardUserProfilePeer.php. Dans les deux cas, c'est un appel de fonction et non une définition. Est-ce que cela vaut le coup que j'ouvre un ticket concernant le plugin sur le site de Symfony ? En tout cas, je vais essayer de regarder ce que je peux proposer comme solution (si j'y arrive ;-) On 15 avr, 18:35, "NicoD." <[EMAIL PROTECTED]> wrote: > Effectivement, c'est une solution qui a le grand mérite de > fonctionner. ;-) > > Je voulais éviter ce genre de choses car je préfère en général ne pas > toucher au coeur du plugin. En l'occurence, la structure des tables en > fait partie. > > En fait, l'admin generator est très rapide et pratique pour commencer > rapidement des interfaces. Mais dès qu'on commence à avoir des choses > un peu élaborées (ici : faire une recherche et un tri par rapport aux > champs d'une autre table), il faut probablement se lancer dans des > développements. > > Ainsi, j'ai voulu regarder le sfSimpleBlogPlugin pour savoir si dans > l'interface d'admin, il était possible de rechercher un article via un > tag. Et en fait, cela n'a pas été traité. Quand je tente d'ajouter > "tag" ou "tag_as_strings" dans les filtres, le champ se trouve en > lecture seule. > > Je me demande en fait si une solution plus propre ne serait pas > d'ajouter une fonction et un template search dans le module > sfGuardUser. On ferait la recherche en tenant compte de la jointure. > On aurait alors une interface ressemblant à l'admin generator mais qui > n'en serait pas une... > > On 15 avr, 16:31, "Olivier LOYNET" <[EMAIL PROTECTED]> wrote: > > > Bonjour, > > > Pour ma part j'ai procédé de la façon suivante : > > > - j'ai ajouté les éléments dans la table sf_guard_user > > (ce n'est pas une très bonne solution mais cela à le mérite de ne maintenir > > qu'une seule table) > > > - j'ai créé un module dans mon application nommé "sfGuardUser" : > > > /apps/my_app/modules/sfGuardUser > > > avec les répertoires : > > > /apps/my_app/modules/sfGuardUser/config > > /apps/my_app/modules/sfGuardUser/templates > > > - j'ai recopié generator.yml du plugin dans > > /apps/my_app/modules/sfGuardUser/config > > > - j'ai désactivé dans le plugin, le fichier generator.yml en le renommant > > generator.yml.off pour que les 2 fichiers ne fusionnent pas (scaffolding) > > >http://prendreuncafe.com/blog/tag/scaffolding > > > Et ca fonctionne... > > Toutes les colonnes de la table sont dispo, et l'on peut les utiliser dans > > le tri et dans le filtrage > > > - Pour n'avoir qu'un seul schéma global, j'ai écris un snippet > > >http://www.symfony-project.org/snippets/snippet/298 > > > NOTE... : il faut remplacer my_app par votre nom d'application > > > Olivier > > > > -----Original Message----- > > > From: symfony-fr@googlegroups.com [mailto:[EMAIL PROTECTED] On > > > Behalf Of NicoD. > > > Sent: Tuesday, April 15, 2008 2:07 PM > > > To: Symfony-fr > > > Subject: [symfony-fr] Re: sfGuardUserProfile et generator.yml > > > > Sans réponse, je suis parti sur l'option d'étendre l'objet > > > sfGuardUser... > > > > J'ai donc rajouté des fonctions getNom(), getPrenom(), getCourriel(), > > > setNom(), setPrenom(), serCourriel() qui agissent en fait sur $this- > > > >getProfile() > > > > J'ai créé des partials qui me permettent d'afficher les champs nom, > > > prenom et courriel dans l'admin generator du sf_guard_user. > > > > Pour finir, j'ai surchargé la fonction save() du sfGuardUser pour lui > > > dire d'enregistrer également les données du profil associé > > > > Là, où je commence à bloquer, c'est pour pouvoir lister mes champs et > > > faire des filtres. Il m'affiche bien les champs nom et prénom mais je > > > ne peux les trier, ou encore les filtrer. > > > > D'après mes recherches, je devais pouvoir y arriver en construisant > > > ma propre méthode doSelectJoinsfGuardUserProfile et en paramétrant > > > peer_method : doSelectJoinsfGuardUserProfile dans l'admin generator. > > > > Je me suis inspiré de l'article suivant : > > >http://trac.symfony-project.com/wiki/ApplyingCustomJoinsInDoSelect > > > > Malheureusement, mes champs "nom" et "prenom" restent toujours > > > désespérement non-triables dans l'admin generateur. > > > > Y a-t-il d'autres fonctions que je dois créer ? > > > > On 9 avr, 14:28, "NicoD." <[EMAIL PROTECTED]> wrote: > > > > Bonjour, > > > > > Toujours dans l'optique d'éprouver Symfony, j'ai voulu utiliser > > > > l'admin generator pour gérer les utilisateurs, les groupes et les > > > > permissions. > > > > > Naturellement, comme l'objet sfGuardUser ne dispose pas de tous les > > > > champs dont on pourrait souhaiter (nom, prenom, courriel...), j'ai > > > > voulu utiliser sfGuardUserProfile que j'ai initialisé comme expliqué > > > > sur le tutoriel. > > > > > Symfony "m'insulte" si je rajoute simplement "nom" dans la liste des > > > > colonnes à afficher. > > > > > list: > > > > title: Rechercher un utilisateur > > > > display: [ =username, nom, created_at, last_login ] > > > > filters: [ username ] > > > > > Si j'utilise un partial, je vois s'afficher mes informations, mais je > > > > ne peux pas les trier, ce qui peut être embêtant. > > > > > Vers quelle tactique dois-je me tourner ? > > > > 1°) Utiliser un admin generator dédié pour le sfGuarsUserProfile ? > > > > 2°) Etendre la classe sfGuardUser ? > > > > 3°) Autres options ? > > > > > Merci d'avance pour vos réponses. --~--~---------~--~----~------------~-------~--~----~ Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "Symfony-fr" de Google Groupes. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse symfony-fr@googlegroups.com Pour résilier votre abonnement à ce groupe, envoyez un e-mail à l'adresse [EMAIL PROTECTED] Pour afficher d'autres options, visitez ce groupe à l'adresse http://groups.google.com/group/symfony-fr?hl=fr -~----------~----~----~----~------~----~------~--~---