Các ngày dự án có chứa một mô-đun (date_popup.module) mà thực hiện một yếu tố hình thức date_popup. date_popup.module cho Drupal 6 đã định nghĩa hàm date_popup_load () , nhưng chức năng này không có trong phiên bản dành cho Drupal 7 của mô-đun, cũng không phải là chức năng lõi Drupal.
Những gì chức năng đã làm là bao gồm các tệp JavaScript cần thiết.
$path = drupal_get_path('module', 'date_popup');
if (module_exists('jquery_ui')) {
jquery_ui_add('ui.datepicker');
global $language;
if ($language->language != 'en') {
jquery_ui_add("i18n/ui.datepicker-{$language->language}");
}
}
if (variable_get('date_popup_timepicker', 'default') == 'default') {
drupal_add_js($path . '/lib/jquery.timeentry.pack.js');
}
Hàm tương đương có trong phiên bản Drupal 7 của mô-đun là date_popup_add () , chứa mã sau đây.
drupal_add_library('system', 'ui.datepicker');
drupal_add_library('date_popup', 'timeentry');
// Add the wvega-timepicker library if it's available.
$wvega_path = date_popup_get_wvega_path();
if ($wvega_path) {
drupal_add_js($wvega_path . '/jquery.timepicker.js');
drupal_add_css($wvega_path . '/jquery.timepicker.css');
}
Hàm đó được gọi từ date_popup_element_ process () , là hàm # process được sử dụng từ trường biểu mẫu date_popup. Bạn có thể viết một hàm # process chứa mã tương tự như hàm được thực thi từ hàm đó và đính kèm nó vào trường biểu mẫu mà bạn muốn thêm bộ chọn ngày.