6

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

Drupal 表单#type“日期”产生一个日期选择器,它有day-month-year选项。我只是需要month-year。有什么帮助吗?

4

4 回答 4

9

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

<?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 日期格式字符串来控制出现的选择框以及其中的内容。

于 2012-03-02T23:01:33.957 回答
3

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

'#type' => 'select', '#options' => array('1' => '一月', '2' => '二月', . . . '12' => '十二月', ),

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

于 2011-03-08T08:02:37.397 回答
2

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

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

于 2012-04-18T15:47:44.380 回答
1

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

于 2011-03-08T08:55:09.320 回答