2010-05-03 14 views
5

मेरे पास एक सीसीके डेटाटाइम फ़ील्ड है और 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 को इसे डिफ़ॉल्ट रूप से कैसे सेट किया जाए?

उत्तर

6

मुझे लगता है कि पूर्ण दिनांक अभी तक सीसीके दिनांक सेटअप पृष्ठ के "अनुकूलित डिफ़ॉल्ट मान" भाग में समर्थित नहीं हैं। आप फिर भी एक कस्टम मॉड्यूल में 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 ; 
    } 
} 
+0

आपका उत्तर, दान डोर धन्यवाद। मुझे उम्मीद है कि कुछ आसान समाधान है। इस तरह के एक साधारण उद्देश्य के लिए एक हुक लिखना मुझे इतना अच्छा नहीं लगता है, खासकर जब इस तरह के कई अन्य रूप सामने आते हैं और मॉड्यूल सिर्फ एक बड़ा स्विच निर्देश बन जाएगा। ;-) –

+0

यह आसान होगा अगर कोई आसान तरीका था ... मैंने http://drupal.org/project/issues/date?text=default पर कुछ पोस्ट की जांच की और ऐसा प्रतीत नहीं होता है, अभी तक। जैसे http://drupal.org/node/326439, http://drupal.org/node/331000, अन्य देखें। –

+0

मुझे इन पदों को बेफ्रे नहीं मिला है। धन्यवाद। वैसे भी, यह विचित्र है कि सरल सुविधा अनुपस्थित है, जबकि आप strtotime() का उपयोग कर सकते हैं। आइए आशा करते हैं कि वे इसके लिए तैयार होंगे। :) –

संबंधित मुद्दे