1 pièce(s) jointe(s)
Problème formulaire SonataAdmin et A2lixTranslations
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:
Citation:
An exception occurred while executing 'INSERT INTO PeopleType (Name) VALUES (?)' with params [null]:
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'Name' cannot be null
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.
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:
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 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,
));
}
} |
Je ne vois pas du tout d'où cela peut venir.
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 :cry: )
Arnaud LEF97