Answers:
您可以在表单中使用after_build来调用包含drupal_add_js的函数
该日期项目包含一个模块(date_popup.module)实现一个date_popup表单元素。Drupal 6的date_popup.module定义了date_popup_load()函数,但是该函数在模块的Drupal 7版本中不存在,它也不是Drupal核心函数。
该函数的作用是包含必要的JavaScript文件。
$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');
}
在Drupal 7版本的模块中存在的等效函数是date_popup_add(),其中包含以下代码。
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');
}
该函数从date_popup_element_process()调用,它是date_popup表单字段中使用的#process函数。您可以编写一个包含与该函数执行的代码相似的代码的#process函数,并将其附加到要添加日期选择器的表单字段。