[Symfony] admin générator

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [Symfony] admin générator

[Symfony] admin générator

par fab » 13 nov. 2009, 16:29

Bonjour tout le monde

Dans le cadre d'un projet j'ai besoin d'utiliser l'admin generator de symfony 1.2 pour gerer des relations type N-N.
J'ai réussi plus au moins à faire ce que je voulais dans le cadre d'une relation N-N simple en rajoutant table_ref_list dans le display du generator.yml, mais par défaut cela affiche un select mutiple là ou j'aurais préféré des checkboxs, j'ai bien cherché dans la doc et j'ai pas trouvé grand chose pour changer ça :s

Mais le problème le plus important est de gérer une relation -n-n-n, à savoir que j'ai une table Player, Team, Competition, Team_Has_Competition et Player_Has_Team_Has_Competition.
Pour simuler une relation n-n, j'ai donc eu l'idée de mettre dans ma table Player_Has_Team_Has_Competition une foreign key directement sur Team_Has_Competition au lieu d'en avoir deux ( team et competition ) ce qui m'aurait amené à avoir une relation n-n-n non géré par symfony.

Voici donc le schema.yml

Code : Tout sélectionner

competition: id: name: { type: varchar(255), required: true } is_active: { type: boolean, required: true, default: 0 } player_has_team_has_competition: id: player_id: { type: integer, primaryKey: true, foreignTable: player, foreignReference: id, required: true } team_has_competition_id: { type: integer, primaryKey: true, foreignTable: team_has_competition, foreignReference: id, required: true} team_has_competition: id: team_id: { type: integer, primaryKey: true, foreignTable: team, foreignReference: id, required: true } competition_id: { type: integer, primaryKey: true, foreignTable: competition, foreignReference: id, required: true } player: id: firstname: { type: varchar(255), required: true } lastname: { type: varchar(255), required: true } age: { type: integer, required: true }
Le but final étant de pouvoir dans mon admin de Player, gérer à quelle équipe appartient chaque joueur pour telle ou telle compétition.

Le problème est donc que l'interface d'admin généré, me sort une erreur cf image :
phpfrance.png
Si quelqu'un connait la solution je suis super preneur !

Au cas ou voici mon generator.yml :

Code : Tout sélectionner

generator: class: sfPropelGenerator param: model_class: Player theme: admin non_verbose_templates: true with_show: false singular: ~ plural: ~ route_prefix: player with_propel_route: 1 config: actions: _new: { label: Nouveau joueur } _delete: { label: Supprimer } _edit: { label: Editer } _save: { label: Sauvegarder } _list: { label: Liste } fields: lastname: { label: Nom } firstname: { label: Prénom } list: title: Liste des joueurs display: [=firstname, =lastname, age] filter: ~ form: ~ edit: title: Joueur : %%firstname%% %%lastname%% new: title: Nouveau joueur