繁体   English   中英

在 Sylius 中编辑客户创建

[英]Edit customer creation in Sylius

我想编辑一个客户的创建,我想在创建过程中添加一个字段。 在创建过程中,服务“sylius.controller.customer:createAction”security.yml中被调用

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 服务,但没有找到。 如何访问此服务以自定义创建?

谢谢你的时间。

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

这个想法是:

  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. 添加相应的翻译,并添加一个新模板以显示您的新字段

问候

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM