2016-05-13 40 views
0

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

我的代码:

//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 %} 

回答

0

我也有类似的问题,但得到它的工作很好,当我加入了format参数如下所示...

$datagridMapper... 

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

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

0

做到这一点,至少在原则-ORM管理员束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') 
)