Bonjour à tous,
Le titre n'est peut-être pas très parlant mais c'est parce que c'est plutôt du de l'expliquer en une phrase
Bref, dans mon schéma, j'ai ceci :
2 champs qui seront donc traduit, mon problème est assez bidon, mais impossible de trouver une parade.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 actAs: I18n: fields: [titre, description]
Avec mon schéma, je peux donc faire ceci : $maClasse->Translation['fr']->titre, ça marche parfaitement, mais je n'ai pas trouver comment bien écrire mes widget dans mes formulaires ou la méthode bind pourrait marcher.
Là, j'ai été obligé de faire ceci en gros :
Donc, impossible de faire un bind, mon code me parait un peu moche du coup :/
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
19
20
21
22
23
24
25 // Classe Formulaire $this->setWidgets(array( 'titre_fr' => new sfWidgetFormInput(), 'titre_en' => new sfWidgetFormInput(), 'description_fr' => new sfWidgetFormTextarea(), 'description_en' => new sfWidgetFormTextarea(), )); // Partial de mon formulaire <ul> <li><?php echo $form['titre_fr']->renderRow() ?></li> <li><?php echo $form['description_fr']->renderRow() ?></li> <li><?php echo $form['titre_en']->renderRow() ?></li> <li><?php echo $form['description_en']->renderRow() ?></li> </ul> // Action if ($request->isMethod('post')): $values = $request->getParameter($this->form->getName()); $site = new Site(); $site->Translation['fr']->titre = $values['titre_fr']; $site->Translation['fr']->description = $values['description_fr']; $site->Translation['en']->titre = $values['titre_en']; $site->Translation['en']->description= $values['description_en'];
Des idées ? Merci![]()
Partager