2011-03-08 137 views
5

我在Drupal中创建信用卡表单。我需要一个日期选择字段,用户可以选择他们的信用卡到期日,其中只包含月和年 - 日。仅创建月份和年份的日期字段 - Drupal

Drupal表格#type'date'产生一个日期选择器,它有day-month-year选项。我只需要month-year。任何帮助?

回答

3

去两个选择框,并预填充字段与月份和年份!

'#TYPE'=> '选择', '#options'=> 阵列( '1'=> '元月', '2'=> '二月', 。 。 '12'=>'December',),

多年来一直如此。您可以使用简单的PHP代码生成年份数组,然后在选项中使用它,而不是手动输入所有年份!

+0

感谢您的建议。这绝对是一个可用的解决方案。 – Sparky

9

使用日期API模块(该Date module的一部分),你可以做这样的事情....

<?php 
$form['payment_expirationDate'] = array(
    '#type' => 'date_select', 
    '#title' => t('Expiration Date:'), 
    '#date_format' => 'm-Y', 
    '#default_value' => $expirationDate, 
    '#date_year_range' => '-1:+10', 
    '#required' => TRUE, 
    '#date_label_position' => 'within' 
); 
?> 

的date_select类型会给你选择适合您的字段框表单元素。 #date_format数组键允许您使用PHP日期格式字符串来控制选择框的显示内容和内容。

2

我刚刚在Drupal 7中完成了这个工作。只需安装并启用日期模块,为您的内容类型添加Date字段,然后在编辑它的设置时,在“收集日期属性”月。然后当用户创建一个新类型的实例时,他们只会得到2个下拉框;一个为月份,一个为年份。

至于很好地显示它们,首先进入Configutation>日期和时间设置,然后使用PHP Date格式化创建一个新格式。 “F Y”会给你类似“2012年4月”的东西。创建一个使用该格式的新日期类型,然后返回到您的内容类型显示设置,并编辑您的新日期字段以使用新的日期类型。

相关问题