Bonjour,
J'ai un problème avec l'utilisation de SonataAdmin utilisé avec A2lixTranslations.
Je souhaite simplement avoir mon formulaire dans SonataAdmin avec un champ pouvant être traduit dans plusieurs langues (avec A2lixTranslation, c'est sensé de présenter avec plusieurs onglets il me semble)
J'ai regardé pas mal d'exemples sur Internet et mis à jour mes bundles et toujours le même problème: ma page "créer" de SonataAdmin n'est pas affichée correctement.
En premier niveau, j'ai le nom de ma classe (PeopleType).
En deuxième niveau se trouve un champ "Translation" (avec les langages que j'ai défini dans config)
En troisième niveau, j'ai mon champ "Name" (traduisible) affiché trois fois (car 3 langages définis).
(voir la copie d'écran en dessous du message pour plus de détails)
Lorsque je renseigne ce formulaire, j'obtiens le message d'erreur suivant:
Je pense que ces deux problèmes sont liés. Il me semble qu'il y ait un niveau en trop et que donc les champs de saisie ne sont pas correctement nommés.An exception occurred while executing 'INSERT INTO PeopleType (Name) VALUES (?)' with params [null]:
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'Name' cannot be null
Actuellement, le champ Name est "s51961ab9184d1[translations][en][name]" (le nom "translations" est en trop à mon avis).
Ma page d'administration de PeopleType est assez épurée:
Je ne vois pas du tout d'où cela peut venir.
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
26
27
28
29 <?php namespace RevivalSoftware\EncyclopediaBundle\Admin; use Sonata\AdminBundle\Admin\Admin; use Sonata\AdminBundle\Form\FormMapper; use Sonata\AdminBundle\Datagrid\ListMapper; class PeopleTypeAdmin extends Admin { /** * @param \Sonata\AdminBundle\Datagrid\ListMapper $list list */ protected function configureListFields(ListMapper $list) { $list ->addIdentifier('name', null, array('label' => 'Name')); } /** * @param FormMapper $formMapper formMapper */ public function configureFormFields(FormMapper $formMapper) { $formMapper ->add('translations', 'a2lix_translations', array( 'by_reference' => false, )); } }
Y-a-t-il une configuration particulière à faire pour pouvoir utiliser ces deux bundles ?
Merci d'avance pour votre aide (je galère depuis plusieurs heures maintenant )
Arnaud LEF97
Partager