TranslationFormBundle
TranslationFormBundle copied to clipboard
Error using TranslationsType or TranslationsFormsType
Environment
Symfony packages
$ composer show --latest 'symfony/*'
symfony/asset v4.2.3 v4.2.3 Symfony Asset Component
symfony/browser-kit v4.2.3 v4.2.3 Symfony BrowserKit Component
symfony/cache v4.2.3 v4.2.3 Symfony Cache component with PSR-6, PSR-16, and tags
symfony/config v4.2.3 v4.2.3 Symfony Config Component
symfony/console v4.2.3 v4.2.3 Symfony Console Component
symfony/contracts v1.0.2 v1.0.2 A set of abstractions extracted out of the Symfony components
symfony/css-selector v4.2.3 v4.2.3 Symfony CssSelector Component
symfony/debug v4.2.3 v4.2.3 Symfony Debug Component
symfony/debug-bundle v4.2.3 v4.2.3 Symfony DebugBundle
symfony/debug-pack v1.0.7 v1.0.7 A debug pack for Symfony projects
symfony/dependency-injection v4.2.3 v4.2.3 Symfony DependencyInjection Component
symfony/doctrine-bridge v4.2.3 v4.2.3 Symfony Doctrine Bridge
symfony/dom-crawler v4.2.3 v4.2.3 Symfony DomCrawler Component
symfony/dotenv v4.2.3 v4.2.3 Registers environment variables from a .env file
symfony/event-dispatcher v4.2.3 v4.2.3 Symfony EventDispatcher Component
symfony/expression-language v4.2.3 v4.2.3 Symfony ExpressionLanguage Component
symfony/filesystem v4.2.3 v4.2.3 Symfony Filesystem Component
symfony/finder v4.2.3 v4.2.3 Symfony Finder Component
symfony/flex dev-master 87d511b dev-master 87d511b Composer plugin for Symfony
symfony/form v4.2.3 v4.2.3 Symfony Form Component
symfony/framework-bundle v4.2.3 v4.2.3 Symfony FrameworkBundle
symfony/http-foundation v4.2.3 v4.2.3 Symfony HttpFoundation Component
symfony/http-kernel v4.2.3 v4.2.3 Symfony HttpKernel Component
symfony/inflector v4.2.3 v4.2.3 Symfony Inflector Component
symfony/intl v4.2.3 v4.2.3 A PHP replacement layer for the C intl extension that includes additional data from the ICU library.
symfony/maker-bundle v1.11.3 v1.11.3 Symfony Maker helps you create empty commands, controllers, form classes, tests and more so you can forget about writing boile...
symfony/monolog-bridge v4.2.3 v4.2.3 Symfony Monolog Bridge
symfony/monolog-bundle v3.3.1 v3.3.1 Symfony MonologBundle
symfony/options-resolver v4.2.3 v4.2.3 Symfony OptionsResolver Component
symfony/orm-pack v1.0.6 v1.0.6 A pack for the Doctrine ORM
symfony/panther v0.2.0 v0.2.0 A browser testing and web scraping library for PHP and Symfony.
symfony/phpunit-bridge v4.2.3 v4.2.3 Symfony PHPUnit Bridge
symfony/polyfill-intl-icu v1.10.0 v1.10.0 Symfony polyfill for intl's ICU-related data and classes
symfony/polyfill-mbstring v1.10.0 v1.10.0 Symfony polyfill for the Mbstring extension
symfony/polyfill-php72 v1.10.0 v1.10.0 Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions
symfony/process v4.2.3 v4.2.3 Symfony Process Component
symfony/profiler-pack v1.0.4 v1.0.4 A pack for the Symfony web profiler
symfony/property-access v4.2.3 v4.2.3 Symfony PropertyAccess Component
symfony/property-info v4.2.3 v4.2.3 Symfony Property Info Component
symfony/routing v4.2.3 v4.2.3 Symfony Routing Component
symfony/security-bundle v4.2.3 v4.2.3 Symfony SecurityBundle
symfony/security-core v4.2.3 v4.2.3 Symfony Security Component - Core Library
symfony/security-csrf v4.2.3 v4.2.3 Symfony Security Component - CSRF Library
symfony/security-guard v4.2.3 v4.2.3 Symfony Security Component - Guard
symfony/security-http v4.2.3 v4.2.3 Symfony Security Component - HTTP Integration
symfony/serializer v4.2.3 v4.2.3 Symfony Serializer Component
symfony/serializer-pack v1.0.2 v1.0.2 A pack for the Symfony serializer
symfony/stopwatch v4.2.3 v4.2.3 Symfony Stopwatch Component
symfony/swiftmailer-bundle v3.2.5 v3.2.5 Symfony SwiftmailerBundle
symfony/templating v4.2.3 v4.2.3 Symfony Templating Component
symfony/test-pack v1.0.5 v1.0.5 A pack for functional and end-to-end testing within a Symfony app
symfony/translation v4.2.3 v4.2.3 Symfony Translation Component
symfony/twig-bridge v4.2.3 v4.2.3 Symfony Twig Bridge
symfony/twig-bundle v4.2.3 v4.2.3 Symfony TwigBundle
symfony/validator v4.2.3 v4.2.3 Symfony Validator Component
symfony/var-dumper v4.2.3 v4.2.3 Symfony mechanism for exploring and dumping PHP variables
symfony/var-exporter v4.2.3 v4.2.3 A blend of var_export() + serialize() to turn any serializable data structure to plain PHP code
symfony/web-link v4.2.3 v4.2.3 Symfony WebLink Component
symfony/web-profiler-bundle v4.2.3 v4.2.3 Symfony WebProfilerBundle
symfony/web-server-bundle v4.2.3 v4.2.3 Symfony WebServerBundle
symfony/yaml v4.2.3 v4.2.3 Symfony Yaml Component
PHP version
$ php -v
PHP 7.2.9 (cli) (built: Aug 21 2018 07:42:00) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.9, Copyright (c) 1999-2018, by Zend Technologies
with Xdebug v2.6.1, Copyright (c) 2002-2018, by Derick Rethans
Subject
In version 3.0.2 of TranslationFormBundle if I use
$builder->add('translations', TranslationsType::class);
the exception Parent form missing
is returned
instead if I use
->add('translations', TranslationsFormsType::class, [
'form_type' => PageTranslationType::class,
])
where PageTranslationType is a form type related to Translation Entity of my Page Class
the exception The required option "form_type" is missing.
is returned
Steps to reproduce
Expected results
Actual results
Symfony\Component\OptionsResolver\Exception\MissingOptionsException:
The required option "form_type" is missing.
at vendor/symfony/options-resolver/OptionsResolver.php:763
at Symfony\Component\OptionsResolver\OptionsResolver->resolve(array())
(vendor/symfony/form/ResolvedFormType.php:95)
at Symfony\Component\Form\ResolvedFormType->createBuilder(object(FormFactory), 'a2lix_translationsForms', array())
(vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php:74)
at Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy->createBuilder(object(FormFactory), 'a2lix_translationsForms', array())
(vendor/symfony/form/FormFactory.php:76)
at Symfony\Component\Form\FormFactory->createNamedBuilder('a2lix_translationsForms', object(ResolvedTypeDataCollectorProxy), null, array())
(vendor/symfony/form/FormFactory.php:58)
at Symfony\Component\Form\FormFactory->createBuilder('A2lix\\TranslationFormBundle\\Form\\Type\\TranslationsFormsType', null, array())
(vendor/symfony/form/FormFactory.php:30)
at Symfony\Component\Form\FormFactory->create('A2lix\\TranslationFormBundle\\Form\\Type\\TranslationsFormsType', null, array())
(vendor/nelmio/api-doc-bundle/ModelDescriber/FormModelDescriber.php:54)
at Nelmio\ApiDocBundle\ModelDescriber\FormModelDescriber->describe(object(Model), object(Schema))
(vendor/nelmio/api-doc-bundle/Model/ModelRegistry.php:89)
at Nelmio\ApiDocBundle\Model\ModelRegistry->registerDefinitions()
(vendor/nelmio/api-doc-bundle/ApiDocGenerator.php:72)
at Nelmio\ApiDocBundle\ApiDocGenerator->generate()
(vendor/nelmio/api-doc-bundle/Controller/SwaggerUiController.php:53)
at Nelmio\ApiDocBundle\Controller\SwaggerUiController->__invoke(object(Request), 'default')
(vendor/symfony/http-kernel/HttpKernel.php:150)
at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
(vendor/symfony/http-kernel/HttpKernel.php:67)
at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
(vendor/symfony/http-kernel/Kernel.php:198)
at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
(public/index.php:25)
Hello, i have problem with Symfony 5, EasyAdmin 3, KNP Translatable and A2lix form:
I made new Field in EasyAdmin:
final class TranslationField implements FieldInterface
{
use FieldTrait;
public static function new(string $propertyName, ?string $label = null): self
{
return (new self())
->setProperty($propertyName)
->setLabel($label)
->setFormType(TranslationsType::class)
->setFormTypeOptions(
[
'default_locale' => '%locale%',
]
);
}
}
And use it in CrudController:
public function configureFields(string $pageName): iterable
{
return [
TranslationField::new('translations')->hideOnIndex(),
TextField::new('title')->hideOnForm(),
IntegerField::new('value'),
];
}
And got new error from A2lix:
Argument 1 passed to A2lix\AutoFormBundle\ObjectInfo\DoctrineORMInfo::__construct() must be an instance of Doctrine\Common\Persistence\Mapping\ClassMetadataFactory, instance of Doctrine\ORM\Mapping\ClassMetadataFactory given, called in /var/www/kr/sova-grade-form/var/cache/dev/ContainerSd2qxYP/getA2lixAutoForm_Form_Manipulator_DoctrineOrmManipulatorService.php on line 24
I removed parameter type in __construct and method getAssocsConfig
for test, and it works. How can i fix it without changing a2lix bundle?) Thank you
Anyone??
I'm getting the same error with Symfony 3.4, on swagger api doc page
class QuestionChoiceType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('translations', TranslationsType::class, [
'fields' => [
'title' => [
'required' => true,
]
]
]);
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => QuestionChoice::class,
'csrf_protection' => false,
'allow_extra_fields' => true
));
}
public function getBlockPrefix()
{
return "question-choices";
}
}
RuntimeException:
Parent form missing
at vendor/a2lix/translation-form-bundle/src/Form/EventListener/TranslationsListener.php:46
at A2lix\TranslationFormBundle\Form\EventListener\TranslationsListener->preSetData(object(FormEvent), 'form.pre_set_data', object(EventDispatcher))
(vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php:214)
at Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(array(array(object(TranslationsListener), 'preSetData')), 'form.pre_set_data', object(FormEvent))
(vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php:44)
at Symfony\Component\EventDispatcher\EventDispatcher->dispatch('form.pre_set_data', object(FormEvent))
(vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/ImmutableEventDispatcher.php:33)
at Symfony\Component\EventDispatcher\ImmutableEventDispatcher->dispatch('form.pre_set_data', object(FormEvent))
(vendor/symfony/symfony/src/Symfony/Component/Form/Form.php:336)
at Symfony\Component\Form\Form->setData(null)
(vendor/symfony/symfony/src/Symfony/Component/Form/Form.php:476)
at Symfony\Component\Form\Form->initialize()
(vendor/symfony/symfony/src/Symfony/Component/Form/FormBuilder.php:210)
at Symfony\Component\Form\FormBuilder->getForm()
(vendor/symfony/symfony/src/Symfony/Component/Form/FormFactory.php:30)
at Symfony\Component\Form\FormFactory->create('A2lix\\TranslationFormBundle\\Form\\Type\\TranslationsType', null, array('block_name' => null, 'disabled' => false, 'label' => null, 'label_format' => null, 'translation_domain' => null, 'auto_initialize' => true, 'trim' => true, 'required' => true, 'property_path' => null, 'mapped' => true, 'by_reference' => false, 'inherit_data' => false, 'compound' => true, 'method' => 'POST', 'action' => '', 'post_max_size_message' => 'The uploaded file was too large. Please try to upload a smaller file.', 'allow_file_upload' => false, 'error_mapping' => array(), 'invalid_message' => 'This value is not valid.', 'invalid_message_parameters' => array(), 'allow_extra_fields' => false, 'extra_fields_message' => 'This form should not contain extra fields.', 'csrf_protection' => true, 'csrf_field_name' => '_token', 'csrf_message' => 'The CSRF token is invalid. Please try to resubmit the form.', 'csrf_token_manager' => object(CsrfTokenManager), 'csrf_token_id' => null, 'locales' => array('es', 'en'), 'default_locale' => 'es', 'required_locales' => array('es', 'en'), 'fields' => array(), 'excluded_fields' => array(), 'attr' => array(), 'data_class' => null, 'empty_data' => object(Closure), 'error_bubbling' => true, 'label_attr' => array(), 'upload_max_size_message' => object(Closure), 'validation_groups' => null, 'constraints' => array(), 'documentation' => array(), 'theming_granularity' => 'field'))
(vendor/nelmio/api-doc-bundle/ModelDescriber/FormModelDescriber.php:54)
at Nelmio\ApiDocBundle\ModelDescriber\FormModelDescriber->describe(object(Model), object(Schema))
(vendor/nelmio/api-doc-bundle/Model/ModelRegistry.php:89)
at Nelmio\ApiDocBundle\Model\ModelRegistry->registerDefinitions()
(vendor/nelmio/api-doc-bundle/ApiDocGenerator.php:72)
at Nelmio\ApiDocBundle\ApiDocGenerator->generate()
(vendor/nelmio/api-doc-bundle/Controller/SwaggerUiController.php:63)
at Nelmio\ApiDocBundle\Controller\SwaggerUiController->__invoke(object(Request), 'default')
(vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:151)
at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
(vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:68)
at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
(vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:200)
at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
(web/app_dev.php:29)
Hi @e1sep0
Do you still have the error outlined in https://github.com/a2lix/TranslationFormBundle/issues/327#issuecomment-698161814 ? I have a very similar setup with EA 3 and Symfony 5.4 and everything works fine
Thanks
Hi @e1sep0
Do you still have the error outlined in #327 (comment) ? I have a very similar setup with EA 3 and Symfony 5.4 and everything works fine
Thanks
Hi, haven`t noticed anymore, try to install last version of bundles