- 1
[Opened] initialiser un checkboxes l'ors de l'édition d'un enregistrement
Posted by RaphaelW on 06/22/2008 19:14
Bonjour Je précise que je travaille avec jelix 1.1 et que je base mon controlleur sur le controlleur crud prédéfini.
J'ai deux tables "evenements" et "semaine" et une table de jointure "evenements_semaine". Lorsque j'édite un enregistrement issu d'une table "evenement" une liste de checkboxes (à choix multiple donc) me permet pour mon évenement de choisir plusieurs jours dans la semaine. Ca marche super tout va bien merci à lj.
Là ou le bas blesse c'est lorsque j'affiche la page d'édition d'un enregistrement, je souhaite initialiser ma liste de checkboxes avec les choix présents dans ledit enregistrement. Je ne peux donc pas les stocker en dur dans le fichier xml.
Et là je bloque.
Parcequ'à lire le manuel on ne peux pas faire cela directement en modifiant le fichier xml du form alors j'ai essayé de surcharger la méthode _view ainsi :
protected function _view($form, $resp, $tpl) { $form->initControlFromDao('jours', 'evenement_semaine'); }
"jours" étant le ref de la liste. Mais il doit me manquer quelque chose et je ne vois pas quoi
Raphaël
[Opened] Re: initialiser un checkboxes l'ors de l'édition d'un enregistrement
Posted by laurentj on 06/22/2008 22:23
Salut,
Ca marche super tout va bien merci à lj.
de rien :-) Mais qu'est ce qui fonctionne exactement ? la liste ? la création ? la modification ? Tu as juste un problème sur le détails d'un enregistrement ?
on ne peux pas faire cela directement en modifiant le fichier xml du form
Non c'est vrai. C'est un manque, mais je ne sais plus si il y a une raison pour laquelle je ne l'ai pas fait... Je viens de créer le ticket 626 pour ça.
Mais il doit me manquer quelque chose et je ne vois pas quoi
Moi non plus. Pour tes checkboxes, tu as bien utilisé <checkboxes> ? Tu peux nous montrer le contenu de cette balise ?
Au passage, je viens de me rendre compte qu'il y a un manque, car pour l'update, il faudrait avoir un hook sur preupdate pour faire ce initControlFromDao (voir ticket 627)
[Opened] Re: initialiser un checkboxes l'ors de l'édition d'un enregistrement
Posted by RaphaelW on 06/22/2008 23:45
ce qui fonctionnne ce sont les éléments de base du crud : create, read, update, delete. l'affichage de la liste et la vue détaillée d'un enregistrement fonctionnent bien aussi.
Ce qui peche
- c'est pour initaliser mes checkboxes (oui j'ai bien mis le ES à la fin) à partir d'une autre table et d'une table de jointure lorsque j'édite un enregistrement.
- lors de l'affichage de la vue détaillée de l'enregistrement les jours sélectionnés ne s'affichent pas
Pourtant j'ai vérifié les jours sélectionnés sont bien enregistrés correctement. Voici le contenu de mes checkboxes
<checkboxes ref="jours"> <label>jours</label> <datasource dao="admin~semaine" method="findAll" labelproperty="nom"/> </checkboxes>
Raphaël
- 1