如何在 Symfony 表单中添加引导日期时间选择器

问题描述 投票:0回答:3
twitter-bootstrap symfony datepicker
3个回答
0
投票

您应该将 html5 键/值从 attr 移至 options :

->add('date', DateTimeType::class, array(
'required' => true,
'widget' => 'single_text',
'html5' => false,
'attr' => [
    'class' => 'form-control input-inline datetimepicker',
    'data-provide' => 'datetimepicker',
],
))

-1
投票

我也面临着同样的问题。 Symfony 中用于日期时间类型的默认表单组件呈现另一组输入字段。

引导方法需要一个“正常”输入字段,其中日期时间呈现为字符串。所以你必须使用TextType::class 为了在实体中使用 DateTime,我添加了一个 EntityTransformer 来处理 sting 和 DateTime 之间的转换以进行读写操作。

你可以这样做:

$builder->get( 'from' )->addModelTransformer( new CallbackTransformer(
    function ( $date ) {
        return $date->format( 'd.m.Y H:i' );
    },
    function ( $date ) {
        return new \DateTime( $date );
    }
) );

-2
投票

我不确定这是唯一的问题,但您可能需要将 DateTimeType::class 更改为 texttype::class。

我希望这能有所帮助! 祝你好运

© www.soinside.com 2019 - 2024. All rights reserved.