2010-05-03 34 views
5

Tôi có trường ngày giờ CCK và muốn đặt giá trị mặc định là 31 tháng 5 năm 2011. Khi tôi chuyển đến cấu hình của trường, tôi có thể đặt giá trị mặc định là Now, Blank hoặc Relative.Drupal CCK Date: cách đặt giá trị mặc định của trường datetime thành ngày sửa lỗi?

Relative phải được đặt bởi đối số strtotime của PHP. Tuy nhiên, nó không thành công khi tôi đặt nó là

  • 31 May 2011 -> Tôi có được ngày hôm nay tại nút thêm hình thức
  • last day of May 2011 -> Tôi nhận được một lỗi trên trang cấu hình lĩnh vực The Strtotime default value for the To Date is invalid.

(thường sẽ hoạt động theo http://php.net/manual/en/function.strtotime.php)

Bạn có biết cách đặt mặc định là ngày 31 tháng 5 năm 2011 không?

Trả lời

6

Tôi cho rằng ngày tuyệt đối chưa được hỗ trợ trong phần "Tùy chỉnh giá trị mặc định" của trang thiết lập Ngày CCK. Tuy nhiên, bạn có thể thực hiện điều này thông qua hook_form_alter trong mô-đun tùy chỉnh (thay thế tên mô-đun, $ form_id và tên trường với tên của bạn):

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

Cảm ơn dor Trả lời của bạn, Dan. Tôi hy vọng có một số giải pháp đơn giản hơn. Viết một cái móc cho một mục đích đơn giản như vậy tôi thấy không tốt đẹp như vậy, đặc biệt là khi nhiều hình thức khác như thế này xuất hiện và các mô-đun sẽ trở thành chỉ là một lệnh chuyển đổi lớn. ;-) –

+0

Sẽ rất tuyệt nếu có một cách dễ dàng hơn ... Tôi đã kiểm tra một số bài đăng trên http://drupal.org/project/issues/date?text=default và dường như không có, chưa. Ví dụ. xem http://drupal.org/node/326439, http://drupal.org/node/331000, những người khác. –

+0

Tôi chưa tìm thấy các bài đăng này. Cảm ơn. Dù sao, nó là loại kỳ quái mà các tính năng đơn giản là vắng mặt, trong khi Bạn có thể sử dụng strtotime(). Hãy hy vọng họ sẽ bù đắp cho điều này. :) –

Các vấn đề liên quan