Використовуючи API форми та пристосунок_форма_алтер () , як я можу вручну встановити (примусити) значення для кожного типу полів дати Друпалу 7, використовуючи дійсну часову марку Unix?
Коли форма остаточно подає типи field_date - це завжди порожні масиви. Нижче розміщений код, над яким я працюю.
hook_form_alter(&$form, &$form_state, $form_id) {
// http://drupal.org/node/1455576 - Date
$form['field_date'][LANGUAGE_NONE][0]['value'] = time();
// http://drupal.org/node/1455576 - Date (ISO Format)
$form['field_date_iso_format'][LANGUAGE_NONE][0]['value'] = time();
// http://drupal.org/node/1455576 - Date (Unix Timestamp)
$form['field_date_unix_timestamp'][LANGUAGE_NONE][0]['value'] =time();
}
Я повинен зазначити, що віджет полів встановлений у тексті, а його формат - "Ymd H: i: s"
Я також намагався date('Y-m-d H:i:s', time())
замість цього time()
.
Приклад dpm () виводу.
Я також повинен зазначити, що в якості вирішення я можу встановити поле, якщо я модифікую його в mook_node_presave (). Для цього я $node->field_date['und'][0]['value'] = date('Y-m-d H:i:s', $my_unix_timestamp);
все-таки хотів би зрозуміти, як це зробити, використовуючи замість гака_форма_алтер.
$form['field_date'][LANGUAGE_NONE][0]['#default_value']['value']
?