फॉर्म एपीआई और हुक_फॉर्म_ल्टर () का उपयोग करके , मैं ड्रुपल 7 के दिनांक फ़ील्ड प्रकारों में से प्रत्येक के लिए मानों को मैन्युअल रूप से कैसे सेट कर सकता हूं (एक वैध यूनिक्स टाइमस्टैम्प का उपयोग करके)?
जब फॉर्म अंतिम रूप से सबमिट किया जाता है तो 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 () आउटपुट।
मुझे यह भी ध्यान देना चाहिए कि वर्कअराउंड के रूप में मैं फ़ील्ड सेट कर सकता हूं यदि मैं इसे हुक_नोड_स्प्रेस () में संशोधित करता हूं । ऐसा करने के लिए, मैं $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']
?