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
-~----------~----~----~----~------~----~------~--~---

Répondre à