Symfony2 TimeType字段分隔小时和分钟的输入字段

时间:2014-08-31 18:21:46

标签: php symfony time form-fields timefield

我希望使用TimeType字段获取两小时和分钟的两个输入字段。 我还想为时间和小时的输入字段设置唯一标签,占位符和/或输入值。我还想在TWIG中单独渲染每个inpult字段,如

{{ form_row(form.TimeExtern[####HOUR FIELD####]) }}
{{ form_row(form.TimeExtern[####MINUTES FIELD####]) }}

我目前的代码:

$builder->add('TimeExtern', 'time', array(
        'input'  => 'timestamp',
        'widget' => 'single_text',
        'required' => true,
        'label' => 'Externe Zeit',
        'attr' => array(
            'help_text' => 'Zeitformat: Stunden:Minuten',
            'input_group' => array(
                'append' => '.icon-time',
            )
        ),
    ));

这为我提供了一小时分钟的一个输入字段。 我已经阅读了docs,但找不到解决方案。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

form_div_layout.html.twig使用

渲染时间小部件
{{ form_widget(form.hour, vars) }}
{% if with_minutes %}:{{ form_widget(form.minute, vars) }}{% endif %}
{% if with_seconds %}:{{ form_widget(form.second, vars) }}{% endif %}

据我所知,你可以使用

{{ form_widget(form.TimeExtern.hour) }}
{{ form_widget(form.TimeExtern.minute)) }}

然后只需在属性哈希中添加您的详细信息(标签,占位符等),如

{{ form_widget(form.TimeExtern.hour, {'label': '', 'attr': {'placeholder': '' }}) }}
{{ form_widget(form.TimeExtern.minute, {'label': '', 'attr': {'placeholder': '' }}) }}