Merci pour la réponse.

Effectivement, de cette manière, j'arrive à afficher une liste
déroulante vers les pages.

Est-ce que tu saurais comment limiter les éléments de ma liste
déroulante ? A supposé qu'il y a 3 pages : Accueil, News, Contact (le
truc bateau) et que j'édite la page "News". Actuellement la liste
contient ses 3 pages. Or, il ne faudrait pas que News apparaisse, elle
ne peut être son propre parent.

Je me demande si je ne devrais pas moi même gérer cette liste, via une
classe php. Auquel cas, vers quels fichiers dois-je me tourner ? (Oui
je débute, et je pose plein de questions >_<)


On 24 mar, 17:07, Mailing-list Lélio <[email protected]> wrote:
> Il te faut préciser que le champ parent_id est une clé étrangère pointant
> sur ta table page
> Par ex. :
> { type: integer, size: 11, required: true, foreignTable: page,
> foreignReference: id, onDelete: restrict }
>
> Par contre, si tu as un seul contenu dans ta page, il vaut mieux faire une
> table plutôt que deux.
>
> A+
>
> > -----Message d'origine-----
> > De : [email protected]
> > [mailto:[email protected]] De la part de n...@oj
> > Envoyé : mardi 24 mars 2009 17:02
> > À : Symfony-fr
> > Objet : [symfony-fr] Admin generator, liste déroulante vers
> > une clé locale
>
> > Bonjour à tous.
>
> > J'éprouve quelques difficultés dans la configuration de mon
> > interface d'admin.
>
> > Je ne cherche pas à faire quelque chose bien compliqué, mais je but...
> > Pour commencer, voici le schéma que j'utilise :
>
> > propel:
> >  page:
> >   _attributes: { phpName: Page }
> >   id:          { type: integer, required: true, primaryKey: true,
> > autoIncrement: true }
> >   parent_id:   { type: integer, required: true }
> >   name:        { type: varchar(50), required: true }
> >   visible:     { type: boolean }
> >   page_order:  { type: integer, default: 0 }
> >   created_at:
> >   updated_at:
>
> >  content:
> >   _attributes:      { phpName: Content }
> >   id:               { type: integer, required: true, primaryKey: true,
> > autoIncrement: true }
> >   page_id:          { type: integer, foreignTable: page,
> > foreignReference: id, onDelete: cascade }
> >   title:            { type: varchar(60) }
> >   content:          { type: longvarchar }
> >   visible:          { type: boolean }
> >   created_at:
> >   updated_at:
>
> > Ma table "page" contient toutes les pages du site, et
> > "content" le contenu des différentes pages. "page" contient
> > un "id", et un "parent_id", pour dire qu'une page est fille
> > d'une autre. Cela me permet d'établir une hiérarchie entre
> > les pages du site, pour générer ensuite un menu.
>
> > Donc, là où je coince, c'est lorsque je crée ou j'édite une "page".
> > Bien sûr, l'id ne peut pas être modifié, en revanche, "parent_id"
> > apparait comme un champ texte où l'utilisateur entre un
> > chiffre entre qui correspond à l'ID d'une page déjà créée, ou
> > 0 pour dire que c'est la racine.
>
> > Je ne veux pas ce champ, mais une liste déroulante, pour
> > éviter qu'un id inexistant soit inséré. Je veux par ailleurs
> > ma liste contienne le "name" de ma page, et pas les ID, parce
> > que ça parle pas trop.
>
> > Je me disais que la fonction __toString solutionnerait le
> > problème, mais elle n'a d'intérêt qu'avec les clés étrangères
> > j'ai l'impression.
>
> > Sauriez-vous comment résoudre le problème ?
>
> > Je vous remercie par avance ;)
--~--~---------~--~----~------------~-------~--~----~
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 [email protected]
 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 à