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