Отправлено неправильное значение элемента формы Drupal 7 date_popup - PullRequest
0 голосов
/ 10 ноября 2019

Я отображаю следующий элемент выбора даты в пользовательской форме, используя Drupal 7:

    $form['navigation']['calendar_popup'] = array(
        '#type' => 'date_popup',
        '#title' => t('Date', [], $t_context),
        '#title_display' => 'invisible',
        '#default_value' => date('Y-m-d H:i:s', time()),
        '#date_format' => 'd-m-Y',
        '#size' => 10,
        '#date_label_position' => 'none', // none within
        '#date_increment' => 15,
        '#date_year_range' => '2008:+1',
        '#description' => '',
        '#required' => false,      
    );

Сегодня 10 ноября, а отображаемый текст элемента 10-11-2019. Но когда формаотправленный на портативное устройство (я использую эмуляцию Samsung Galaxy S5 с моим настольным браузером Chrome), текст поля на короткое время меняется на «11-10-2019» и фактически отправляется «2019-10-11». То же на физическом Galaxy Aсерия handheld).

У настольных браузеров такой проблемы нет.

Есть предложения?

1 Ответ

0 голосов
/ 12 ноября 2019

Попробуйте это:

 $form['navigation']['calendar_popup'] = array(
    '#type' => 'date_popup',
    '#title' => t('Date', [], $t_context),
    '#title_display' => 'invisible',
    '#default_value' => date('Y-m-d', time()), // change format passed
    '#date_format' => 'd-m-Y',
    '#size' => 10,
    '#date_label_position' => 'none', // none within
    '#date_increment' => 15,

    '#date_timezone'       => date_default_timezone(), // add this

    '#date_year_range' => '2008:+1',
    '#description' => '',
    '#required' => false,      
);

=> принудительно установить часовой пояс + изменить формат значения даты по умолчанию

...