Menggunakan Formulir API dan hook_form_alter () , bagaimana saya bisa secara manual mengatur (memaksa) nilai untuk setiap jenis bidang tanggal Drupal 7 menggunakan Timestamp Unix yang valid?
Ketika formulir akhirnya mengirimkan tipe field_date selalu kosong array. Di bawah ini adalah kode rusak tempat saya bekerja.
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();
}
Saya harus menyebutkan widget bidang diatur ke teks dan formatnya adalah 'Ymd H: i: s'
Saya juga mencoba date('Y-m-d H:i:s', time())
bukan time()
.
Contoh output dpm ().
Saya juga harus mencatat bahwa sebagai solusi saya dapat mengatur bidang jika saya memodifikasinya di hook_node_presave (). Untuk melakukan ini saya mengatur $node->field_date['und'][0]['value'] = date('Y-m-d H:i:s', $my_unix_timestamp);
saya masih ingin memahami bagaimana melakukan ini menggunakan hook_form_alter sebagai gantinya.
$form['field_date'][LANGUAGE_NONE][0]['#default_value']['value']
?