如何在客户 Sylius 表单中添加 DefaultAdress 字段 (symfony3)

How to add DefaultAdress fields in Customer Sylius Form (symfony3)

我觉得标题不是很清楚,所以我会解释得更好: 我已经编辑了 CustomerRegister 表单,添加了几个字段,我也想添加 DefaultAdress 字段(defaultAdress 是链接 object 到 Customer - 我在 CustomerObject 中有一个 getDefaultAdresse 方法)。我想添加 DefaultAddress object(街道、国家/地区等)

中的所有字段

我不知道该怎么做...

我是否需要修改 CustomerRegistrationTypeExtension 以添加地址字段? 如何调用我的 twig 文件中的字段?像那样:{{ form_row(form.defaultAddress.street) }} ?

我没有找到文档来解释那个案例。

感谢您的帮助!

您应该像您描述的那样创建 CustomerRegistrationTypeExtension。在此扩展中,只需执行以下操作:

use Sylius\Bundle\AddressingBundle\Form\Type\AddressType;

$builder->add('defaultAddress', AddressType::class)

然后覆盖模板,您应该能够使用以下内容呈现字段或整个表单:

{{ form_widget(form.defaultAddress) }}

我建议使用我们的标准地址表单模板,只需包含它即可:

{% include '@SyliusShop/Common/Form/_address.html.twig' with {'form': form.defaultAddress} %}