编辑客户创建sylius

时间:2017-04-28 09:20:44

标签: php symfony sylius customer

我想编辑客户的创建,我想在创建过程中添加一个字段。在创建期间,在security.yml

中调用 " sylius.controller.customer:createAction" 服务
sylius_shop_register:
    path: /register
    methods: [GET, POST]
    defaults:
        _controller: sylius.controller.customer:createAction
        _sylius:
            template: "@SyliusShop/register.html.twig"
            form: Sylius\Bundle\CoreBundle\Form\Type\Customer\CustomerRegistrationType
            event: register
            redirect:
                route: sylius_shop_account_dashboard
            flash: sylius.customer.register

然而,我检查了很多sylius服务,我没有找到它。 如何访问此服务以自定义创建?

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

您应该自定义表单而不是自定义控件。 您可以在此处找到详细信息(sylius customizing form

这个想法是:

  1. 创建表单扩展名:

    final class CustomerRegistrationType extends AbstractTypeExtension
        {
            /**
         * {@inheritdoc}
         */
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
            // Adding new fields works just like in the parent form type.
            $builder->add('YourField', TextType::class, [
                'required' => false,
                'label' => 'app.form.customer.yourfield',
            ]);
        }
        /**
         * {@inheritdoc}
         */
        public function getExtendedType()
        {
            return CustomerRegistrationType::class;
        }
    }
    
  2. AppBundle/Resources/config/services.yml

  3. 中将此扩展名注册为服务
  4. 添加翻译,并添加新模板以显示您的新字段

  5. 此致