簡體   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