gpt4 book ai didi

symfony - 如何在symfony2中创建自定义字段类型?

转载 作者:行者123 更新时间:2023-12-03 11:53:31 25 4
gpt4 key购买 nike

我想在symfony2中创建一个名为daterange的自定义表单字段,这将扩展默认的symfony日期类型表单字段并将日期范围(开始日期和结束日期)放入两个不同的文本框中。

最佳答案

因为我不喜欢 Twig 模板引擎,这个例子仅用于PHP模板

您需要做的是:

  • 扩展了TestBundle\Form\Extension\Core\Type\DateRangeType的新Symfony\Component\Form\AbstractType
    在这里您应该:
    一种。编写自己的getParent,getName,buildForm方法
    b。 getParent返回“字段”
    C。 getName返回'daterange'
    d。 buildForm具有$builder->add('start', ...)->add('end', ...)->setAttribute('widget', 'daterange')
  • 将其添加到DI中(例如config.yml)

  • 服务:
    form.type.daterange:
    类:TestBundle \ Form \ Extension \ Core \ Type \ DateRangeType
    标签:
    -{名称:form.type,别名:daterange}
  • TestBundle/Resources/views/Form/daterange_widget.html.php中为其创建新的小部件
    您可以以日期小部件为例。 Src/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/date_widget.html.php
  • 添加到配置(以config.yml为例)

  • 框架:
    模板:
    形成:
    资源:
    -'TestBundle:Form'

    对于更多的小部件定制,如nefo_x说,请检查 form customization

    关于symfony - 如何在symfony2中创建自定义字段类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6506110/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com