我正在编写一个 Drupal 模块并且遇到了应该是一个微不足道的问题;
考虑一个包含“出生日期”属性的“人”类型节点。我已将数据库表配置为使用 int 字段以 UNIX 格式(与 Drupal Core 相同)存储日期,但当然我需要为用户提供一种方法以更友好的格式指定值,即 dd/毫米/年。
在我的模块 Person_form 函数中,我已经配置了日期元素:
$form['dob'] = array(
'#type' => 'date',
'#title' => 'Date of Birth',
'#required' => TRUE,
'#default_value' => array(
'day' => format_date($node->dob, 'custom', 'j'),
'month' => format_date($node->dob, 'custom', 'n'),
'year' => format_date($node->dob, 'custom', 'Y'),
),
);
它在三个下拉列表中显示数据库中的 UNIX 日期,一个代表日、月和年——这正是我想要的,到目前为止一切都很好。
现在,当用户单击“保存”按钮时,我需要能够访问这些元素值 - 但我现在有两个问题:
- _form 函数的签名是 Person_form($node) 那么我如何访问 $form['dob']['day'/'month'/'year'] 值。$form 不作为参数传递给函数。
- 一旦我有了这些值,生成 UNIX 日期值的最佳方法是什么?
我已经用 Google 搜索了一段时间,但术语“drupal”和“日期”似乎只是将我指向 Date 模块扩展 - 当然我不需要扩展来处理这样的简单日期:-o
提前致谢