次のコードを使用して宣言されたカスタムフォーム要素にカスタムフィールドがあります。
$element['data_da'] = array(
'#type' => 'date',
'#title' => t('Date from'),
'#default_value' => isset($items[$delta]['data_da']) ? $items[$delta]['data_da'] : NULL,
'#description' => t('Description for field Date from'),
);
データを挿入すると、1つの年、1つのフォームの月、1つの日の3つの選択が表示されます。 「date_popup」ウィジェットを使いたいのですが。
どうやってやるの?何を設定すればよいですか? 「#widget」ディレクティブはありますか?
Date モジュールのバージョン2.xをインストールすると、日付を選択するポップアップを表示する「date_popup」フィールドを含む、より多くのフォームフィールドを使用できるようになります。
モジュールには、ポップアップを表示するかどうかをユーザーが決定できるオプションがあります。このオプションをオーバーライドする場合は、variable_set('date_popup_timepicker', 'default')
を使用する必要があります。これはモジュールで使用されるデフォルトのオプションですが、ユーザーが「なし」を選択した場合、ポップアップは表示されません。
「date_popup」フィールドを使用したカスタム形式の設定について、フォームフィールドは「#date_format」属性を使用します。開発スナップショット7.x-2.xでは、ほとんどの形式を受け入れるとされています。その属性のデフォルト値は、variable_get('date_format_short', 'm/d/Y - H:i')
によって返される値です。date_popup_element_info()
のコメントで報告される、フォームフィールドで使用される属性の完全なリストは次のとおりです。
「#date_timezone」
この日付の作成に使用されるローカルタイムゾーン。
「#date_format」
このポップアップの以前のバージョンとは異なり、ほとんどのフォーマットが機能します。
「#date_increment」
分と秒をこの量だけ増やします。デフォルトは1です。
「#date_year_range」
年セレクターで前後に移動する年数。デフォルトは-3:+3(3つ前と3つ前)です。
Drupalコアモジュールには「日付」フォームフィールドのみがあり、「#widget」属性は使用されません。ただし、サードパーティのモジュールで新しい属性を定義できます。私の知る限り、フォームフィールドの属性として「#widget」を定義しているモジュールはありません。