Hello,
Pour personnaliser les éléments non associés, pas difficile :
Jusque là ça va, ce qui se complique dans mon cas, c'est la colonne des associés
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $this->widgetSchema['newss_list']->setOption('renderer_options', array('choices' => NewsTable::getNewsOrphan()));
Je m'explique, dans les non associés, tous les articles non attachés à une newsletter
A droite, les articles associés à la newsletter en cours d'édition
Le soucis, c'est que lorsque je suis en action "edit" la colonne des associés reste vide, car elle est alimentée de la sorte via ma méthode render de la class sfWidgetFormSelectDoubleList
On voit que les éléments associés sont puisés dans les éléments non associés
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 public function render($name, $value = null, $attributes = array(), $errors = array()) { ... #$choices = tableau fournit par NewsTable::getNewsOrphan() #$value = tableau contenant les éléments associés foreach ($choices as $key => $option) { if (in_array(strval($key), $value)) { $associated[$key] = $option; } else { $unassociated[$key] = $option; } } ...
Or dans mon cas, j'exclut les éléments déjà associés pour alimenter ma colonne de droite
Autre exemple :
Dans ce cas ci dessous la condition if (in_array(strval($key), $value))
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 #colonne non associés array('pomme','poire', 'orange') #colonne associés array('fraise','kiwi')
ne sera jamais valide
Alors ma question est, peut-on surcharger la méthode render, ou dans mon cas voyez vous une autre solution ?
Merci
Partager