Drupal で、間隔を選ばせる方法(drupal_map_assoc)

Drupal で、Select ボックスを使ってユーザーに 15分、30分、1時間、3時間、6時間、12時間、1日・・・などと、フォームの中で時間間隔を選ばせたいときは、以下のようにする。
<?php
$intervals
= drupal_map_assoc(array(900, 1800, 3600, 10800, 21600, 43200, 86400), 'format_interval');

$form['interval'] = array(
 
'#type'          => 'select',
 
'#options'       => $intervals,
 
'#title'         => t('Interval),
  '
#default_value' => variable_get('interval', 86400),
 
'#required'      => TRUE
 
);
?>
上のコードの1行目で、drupal_map_assoc という関数が特に重要で、この関数の引数にarray で示された間隔の値と書式の引数(この場合は format_inerval) を渡してあげると、 Select ボックス用の array が自動的に生成される。これは便利!
トラックバック URL: https://perltips.twinkle.cc/trackback/317