Traduction avec Doctrine et formulaire
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 :P
Bref, dans mon schéma, j'ai ceci :
Code:
1 2 3 4
|
actAs:
I18n:
fields: [titre, description] |
2 champs qui seront donc traduit, mon problème est assez bidon, mais impossible de trouver une parade.
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 :
Code:
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']; |
Donc, impossible de faire un bind, mon code me parait un peu moche du coup :/
Des idées ? Merci :)