创建仅包含月份和年份的日期字段 - Drupal

时间:2011-03-08 07:36:04

标签: drupal drupal-forms

我正在Drupal创建一张信用卡表单。我需要一个日期选择字段,用户可以在其中选择信用卡到期日期,该日期仅包括月份和年份。

Drupal表单#type'date'生成日期选择器,其中包含day-month-year选项。我只需要month-year。有什么帮助吗?

4 个答案:

答案 0 :(得分:9)

使用Date 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日期格式字符串来控制显示哪些选择框以及它们内部的内容。

答案 1 :(得分:3)

选择两个选择框并预填月份和年份字段!

  

'#type'=&gt; 'select','#options'=&gt;   阵列(       '1'=&gt; '一月',       '2'=&gt; '二月',            。            。            。       '12'=&gt; '十二月',),

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

答案 2 :(得分:2)

我刚刚在Drupal 7中完成了这项工作。只需安装并启用Date模块,在Content Type中添加Date字段,然后在编辑它的设置时,在“Date attributes to collect”下,只需勾选Year和Month 。然后,当用户创建该类型的新实例时,他们将只获得2个下拉框;一个月,一个月。

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

答案 3 :(得分:1)

嘿,我找到了正确的方法。该解决方案创建自定义表单#type元素。见http://www.akchauhan.com/create-drupal-form-elements-like-date-element/