【问题标题】:Symfony form type: pass user domain to configureOptionsSymfony 表单类型:将用户域传递给 configureOptions
【发布时间】:2018-02-12 11:35:26
【问题描述】:

如何将当前用户域传递给 Symfony 表单类型?

我的服务看起来像:

# src/AppBundle/Service/GenericFormService.php

    $domain = 'mydomain';

    $formBuilder = $this->formFactory->createBuilder(
        GenericOrderType::class,
        $order,
        array_merge(
            array(
                'generic_form' => $userForm,
                'validator' => $this->validator,
                'constraints' => $constraints
            ),
            $options
        )
    );

我有表单类型:

# src/AppBundle/Form/GenericOrderType.php

    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(
            [
                'data_class' => Order::class,
                'translation_domain' => 'NEEDS_THIS_DYNAMIC',
            ]
        );
    }

【问题讨论】:

    标签: php symfony dependency-injection symfony-forms


    【解决方案1】:

    发布问题后我找到了答案:

    # src/AppBundle/Service/GenericFormService.php
    
        $domain = 'mydomain';
        $options['translation_domain'] = $domain;
    
        $formBuilder = $this->formFactory->createBuilder(
            GenericOrderType::class,
            $order,
            array_merge(
                array(
                    'generic_form' => $userForm,
                    'validator' => $this->validator,
                    'constraints' => $constraints
                ),
                $options
            )
        );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-09
      • 1970-01-01
      • 2019-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-16
      相关资源
      最近更新 更多