added code to use custom date_pattern
This commit is contained in:
parent
a414e56881
commit
dd104bc8c0
@ -83,8 +83,7 @@ class DateType extends AbstractType
|
||||
|
||||
$builder
|
||||
->setAttribute('formatter', $formatter)
|
||||
->setAttribute('widget', $options['widget'])
|
||||
;
|
||||
->setAttribute('widget', $options['widget']);
|
||||
}
|
||||
|
||||
public function buildViewBottomUp(FormView $view, FormInterface $form)
|
||||
@ -93,15 +92,18 @@ class DateType extends AbstractType
|
||||
|
||||
if ($view->hasChildren()) {
|
||||
|
||||
$pattern = $form->getAttribute('formatter')->getPattern();
|
||||
//if custom date_pattern is set then use it or else use the the formatter or the default pattern
|
||||
if (!$pattern = $form->getAttribute('date_pattern')) {
|
||||
$pattern = $form->getAttribute('formatter')->getPattern();
|
||||
|
||||
// set right order with respect to locale (e.g.: de_DE=dd.MM.yy; en_US=M/d/yy)
|
||||
// lookup various formats at http://userguide.icu-project.org/formatparse/datetime
|
||||
if (preg_match('/^([yMd]+).+([yMd]+).+([yMd]+)$/', $pattern)) {
|
||||
$pattern = preg_replace(array('/y+/', '/M+/', '/d+/'), array('{{ year }}', '{{ month }}', '{{ day }}'), $pattern);
|
||||
} else {
|
||||
// default fallback
|
||||
$pattern = '{{ year }}-{{ month }}-{{ day }}';
|
||||
// set right order with respect to locale (e.g.: de_DE=dd.MM.yy; en_US=M/d/yy)
|
||||
// lookup various formats at http://userguide.icu-project.org/formatparse/datetime
|
||||
if (preg_match('/^([yMd]+).+([yMd]+).+([yMd]+)$/', $pattern)) {
|
||||
$pattern = preg_replace(array('/y+/', '/M+/', '/d+/'), array('{{ year }}', '{{ month }}', '{{ day }}'), $pattern);
|
||||
} else {
|
||||
// default fallback
|
||||
$pattern = '{{ year }}-{{ month }}-{{ day }}';
|
||||
}
|
||||
}
|
||||
|
||||
$view->set('date_pattern', $pattern);
|
||||
|
Reference in New Issue
Block a user