6

Drupal でクレジット カード フォームを作成しています。ユーザーがクレジットカードの有効期限を選択できる日付選択フィールドが必要です。これは、月と年のみで構成され、日はありません。

Drupal フォーム#type'date' は、オプションを持つ日付チューザーを生成し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

2つの選択ボックスに移動し、フィールドに月と年を事前に入力します。

'#type' =>'select'、'#options' => array( '1' =>'January'、 '2' =>'February'、。。。 '12' =>'December'、)、

何年も同じように。単純なphpコードを使用して年の配列を生成し、すべての年を手動で指定する代わりに、オプションでそれを使用できます。

于 2011-03-08T08:02:37.397 に答える
2

Drupal 7 でこれを実行しました。Date モジュールをインストールして有効にし、コンテンツ タイプに Date フィールドを追加してから、設定を編集するときに、[収集する日付属性] の下で年と月にチェックを入れます。次に、ユーザーがそのタイプの新しいインスタンスを作成すると、ドロップダウン ボックスが 2 つだけ表示されます。1 つは月用、もう 1 つは年用です。

それらを適切に表示するには、まず [構成] > [日付と時刻] 設定に移動し、次にPHP 日付形式を使用して新しい形式を作成します。たとえば、"F Y" は "April 2012" のようになります。その形式を使用する新しい日付タイプを作成し、コンテンツ タイプの表示設定に戻り、新しい日付フィールドを編集して新しい日付タイプを使用します。

于 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 に答える