【问题标题】:Creating date field with only month and year - Drupal创建只有月份和年份的日期字段 - Drupal
【发布时间】:2011-03-08 07:36:03
【问题描述】:

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

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

【问题讨论】:

    标签: drupal drupal-forms


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      '#type' => '选择', '#options' => 大批( '1' => '一月', '2' => '二月', . . . '12' => '十二月', ),

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

      【讨论】:

      • 感谢您的建议。这绝对是一个可用的解决方案。
      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

        • 顺便问一下,您是否考虑过使用粒度设置为仅月和年的实际日期模块?
        • 我不知道。我会试试的。谢谢。
        猜你喜欢
        • 1970-01-01
        • 2013-06-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多