SonataAdminBundle:DateTime选择器格式

时间:2016-05-13 11:21:58

标签: symfony date datetime sonata-admin

根据this问题,我正在尝试配置过滤日期,但默认格式为"May 13, 2016 1:12 PM 13, 2016, 1:12:50 pm"。在我的数据库中,我以这种格式"aaaa-mm-dd hh:mm:ss"存储日期时间。 因此,当我应用上面的过滤器时,不会返回任何结果。

我的代码:

//Admin Class.php   
 protected function configureDatagridFilters(DatagridMapper $datagridMapper)
        {
            $datagridMapper
                ->add('firstName')
                ->add('lastName')
                ->add('createdAt', 'doctrine_orm_datetime_range', array(
                    'field_type' => 'sonata_type_datetime_range_picker',
                    'show_filter' => true
                ))
            ;
        }
#config.yml
sonata_admin:
    templates:
        layout: AppBundle::standard_layout.html.twig

尝试这样的事情,但不起作用。

{# standard_layout.html.twig #}
{% extends 'SonataAdminBundle::standard_layout.html.twig' %}

{% block javascripts %}
    {{ parent() }}
    jQuery(document).ready(function(){
        //jQuery.datepicker.setDefaults( jQuery.datepicker.regional[ "" ] );
        $('#dtp_filter_createdAt_value_start').datetimepicker({
            dateFormat: "yy-mm-dd"
        });
    });
{% endblock %}

3 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,但是当我添加格式参数时,它正常工作......如图所示......

$datagridMapper...

->add('dateProcessed', 'doctrine_orm_datetime', 
       array('field_type' =>'sonata_type_datetime_picker'), null, array(
       'dp_use_current'=> true,
       'format'=>'dd/MM/yyyy'))

你没有说你是否真的要求一个日期范围选择器或只是一个日期的选择,但这里的代码只适用于我在一个日期执行过滤器。我认为如果需要,你仍然可以使用相同的方法。

答案 1 :(得分:0)

这样做的方法,至少使用doctrine-orm-admin-bundle v3.0.5:

->add('createdAt', 'doctrine_orm_datetime_range', array(
    'label' => 'Registered at',
        ), null, array(
    'field_type' => 'sonata_type_date_picker',
    'field_options' => array(
        'format' => 'dd/MM/yyyy'
    ),
    'translation_domain' => 'SonataAdminBundle')
)

答案 2 :(得分:0)

这应该适合你:

$datagridMapper
    ->add('createdAt', 'doctrine_orm_date_range', array(), 
              'sonata_type_date_range_picker'
            , array('field_options_start' => array('format' => 
              'yyyy-MM-dd'),
            'field_options_end' => array('format' => 'yyyy-MM-dd'))
    )