Symfony2: проблемы с рендерингом формы перевода с помощью A2lixTranslationFormBundle и Gedmo\DoctrineExtensions Translatable

Я использую gedmo/doctrine-translations и a2lix/translation-form-bundle: 2.*@dev для перевода своих сущностей.

Форма перевода всегда отображает Field и Content, но сам мой объект не содержит поля Field или Content .

Тип формы

$builder->add('translations', 'a2lix_translations');

person Mauro    schedule 25.02.2014    source источник
comment
конструктор взят из github.com/l3pp4rd/DoctrineExtensions /blob/мастер/doc/. У меня нет полей "поле" или "контент"   -  person Mauro    schedule 25.02.2014
comment
у AbstractPersonalTranslation есть поля "поле" и "контент"   -  person Mauro    schedule 25.02.2014
comment
какую версию A2LiX вы используете?   -  person denys281    schedule 25.02.2014
comment
@denys281 a2lix/translation-form-bundle: 2.*@dev   -  person Mauro    schedule 25.02.2014
comment
@nifr Я слежу за DoctrineExtension и документацией A2lix...   -  person Mauro    schedule 25.02.2014
comment
отредактировал мой ответ - попробуйте тип поля a2lix_translations_gedmo и/или укажите translatable_class в массиве параметров и сообщите об этом.   -  person Nicolai Fröhlich    schedule 25.02.2014
comment
@Mauro Из документации "a2lix/translation-form-bundle": "1.*@dev" if you need to use the old Gedmo strategy   -  person denys281    schedule 25.02.2014
comment
К сожалению, я использую github.com/stof/StofDoctrineExtensionsBundle и фактически использую старую стратегию Gedmo. .   -  person Mauro    schedule 25.02.2014


Ответы (1)


Версия 2.0 пакета TranslationFormBundle несовместима с текущей версией gedmo/doctrine-extensions.

См. примечания по обновлению пакета.

Вам нужно будет использовать текущие нестабильные ветки wip-v2.4.0 и .


решение:

Либо обновите gedmo/doctrine-extensions...

composer require gedmo/doctrine-extensions:wip-v2.4.0@dev
composer update gedmo/doctrine-extensions

... или понизить версию a2lix/translation-form-bundle:

composer require a2lix/translation-form-bundle:~1.2
composer update a2lix/translation-form-bundle

важное примечание для 1.x версии a2lix/TranslationFormBundle:

Вам необходимо использовать тип поля a2lix_translations_gedmo, как описано в документации.

Далее вам нужно указать переводимый класс в массиве опций следующим образом:

$builder->add('translations', 'a2lix_translations_gedmo', array( 
    'translatable_class' => "Your\Entity" 
); 
person Nicolai Fröhlich    schedule 25.02.2014
comment
Поле «имя» не существует в XXXX\XXXBundle\Entity\EntityTranslation ;-( - person Mauro; 25.02.2014