The bundles jQuery provides DatePicker to handle date input and datetime field type. The datepicker is localized according to the user’s locale.
Require stnw/date-picker-bundle in your composer.json file:
{
"require": {
"stnw/date-picker-bundle": "dev-master"
}
}Then run composer.phar install as usual.
Enable the bundle in the kernel:
<?php
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
// ...
new Stnw\DatePickerBundle\StnwDatePickerBundle(),
);
}Open the config.yml file and add a following lines (or adjust the current configuration):
twig:
form:
resources:
- 'StnwDatePickerBundle:Form:fields.html.twig'Create a new file named layout.html.twig inside the app/Resources/SonataAdminBundle/views/ with the following content:
{% extends 'SonataAdminBundle::standard_layout.html.twig' %}
{% block javascripts %}
{{ parent() }}
<script src="{{ asset('bundles/stnwdatepicker/date_picker.js') }}"></script>
<script type="text/javascript">
global = {
locale : '{{ app.request.locale }}'
}
</script>
{% endblock %}Then update the sonata_admin configuration to use this template:
sonata_admin:
templates:
# default global templates
layout: SonataAdminBundle::layout.html.twigAdminClass:
FormFields
<?php
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
...
->add('startDate', 'datePicker' )
->add('endDate', 'dateTimePicker' )
...
;
}