2016-05-13 49 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') 
)