Kullanma Formu API ve hook_form_alter () elle geçerli bir Unix Zaman Damgası kullanarak Drupal 7'nin tarih alanı türlerinin her biri için (kuvvet) değerleri ayarlamak nasıl?
Form sonunda gönderildiğinde field_date türleri her zaman boş dizilerdir. Aşağıda çalıştığım kırık kod var.
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();
}
Alanlar widget'ı metin olarak ayarlanmış ve biçimi 'Ymd H: i: s'
Ben de date('Y-m-d H:i:s', time())
yerine denedim time()
.
Örnek dpm () çıktısı.
Ayrıca, bir çözüm olarak hook_node_presave () değiştirirseniz alanı ayarlayabileceğini unutmayın . Bunu yapmak için $node->field_date['und'][0]['value'] = date('Y-m-d H:i:s', $my_unix_timestamp);
ben hala bunun yerine hook_form_alter kullanarak nasıl yapılacağını anlamak istiyorum ayarlayın .
$form['field_date'][LANGUAGE_NONE][0]['#default_value']['value']
mı?