Drupal CCK Date: как установить значение по умолчанию для поля datetime в фиксированную дату? - PullRequest
5 голосов
/ 03 мая 2010

У меня есть поле даты и времени CCK, и я хотел бы установить его значение по умолчанию на 31 мая 2011 года. Когда я перехожу к настройке поля, я могу установить значение по умолчанию Now, Blank или Relative.

Relative устанавливается с помощью аргумента PHP strtotime.Тем не менее, это происходит сбой, когда я устанавливаю его

  • 31 May 2011 -> Я получаю сегодня в форме добавления узла
  • last day of May 2011 -> Я получаю ошибку настраница конфигурации поля The Strtotime default value for the To Date is invalid.

(которая обычно должна работать в соответствии с http://php.net/manual/en/function.strtotime.php)

Есть ли у вас какие-либо идеи, как установить значение по умолчанию на 31 мая 2011 года?

1 Ответ

6 голосов
/ 03 мая 2010

Я думаю, что абсолютные даты еще не поддерживаются в части «Настройка значения по умолчанию» на странице настройки CCK Date. Однако вы должны быть в состоянии сделать это через hook_form_alter в пользовательском модуле (замените имя модуля, $ form_id и имя поля своим):

function mymodule_form_alter(&$form, $form_state, $form_id) {   
  if ($form_id == 'myform') {
    $mydate = date('Y-m-d', strtotime('31 May 2011')) ;
    $form['field_my_date'][0]['#default_value']['value'] = $mydate ;
  }
}
...