Quiero editar la creación de un cliente, quiero agregar un campo durante la creación. Durante la creación, se llama al servicio "sylius.controller.customer:createAction" en 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.registerSin embargo, revisé muchos servicios de Sylius y no lo encontré. ¿Cómo puedo acceder a este servicio para personalizar la creación?
Gracias por tu tiempo.
Debe personalizar el formulario y no el controlador. Puede encontrar información detallada aquí ( formulario de personalización de sylius )
La idea es:
Crear una extensión de formulario:
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; } } Registre esta extensión como un servicio en AppBundle/Resources/config/services.yml
Agregue las traducciones correspondientes y agregue una nueva plantilla para mostrar su nuevo campo
Saludos