メインコンテンツに移動

メインナビゲーション

  • ホーム
  • サイトマップ
  • ビデオ
  • ご連絡

パンくず

  • ホーム
  • DrupalのFormAPIにある要素(checkboxes)のデフォルト値などの注意点

DrupalのFormAPIにある要素(checkboxes)のデフォルト値などの注意点

drupal
development
form

DrupalのFormAPIの要素(checkboxes)が便利な存在

  • 複数のチェックボックス(checkbox)を一括として作成する場合、非常に便利な存在です
  • 本家の説明がありますが、ちょっと簡単で、いつか分かりにくい点があります
    DrupalのFormAPIの要素:checkboxesの説明
  • 本家の例として説明します
    $form['high_school']['tests_taken'] = array(
      '#type' => 'checkboxes',
      '#options' => drupal_map_assoc(array(t('SAT'), t('ACT'))),
      '#title' => t('What standardized tests did you take?'),
    ...
        ),

デフォルト値("#default_value"):配列で設定

  • checkboxesの説明に、初期値("#default_value")の使用ができますが、設定方法がわかりませんでした
  • しらべてみたら、配列で設定することです
    $form['high_school']['tests_taken'] = array(
      '#type' => 'checkboxes',
      '#options' => drupal_map_assoc(array(t('SAT'), t('ACT'))),
      '#title' => t('What standardized tests did you take?'),
      '#default_value' => array(1, 2), //複数の選択が可能
    ...
        ),
    • 当然のことですが、複数チェックボックス同時に選択されることができるので、配列で初期値の設定となります

チェックボックス定義("#options")に連想配列の使用が可能

  • 本家の説明の例には、チェックボックスの定義("#options")は単純な配列です
    • 具体てなチェックボックス取得する際に、配列の順番:1,2...のようなします
  • 実際に、チェックボックスの定義が連想配列の使用ができます
    $form['high_school']['tests_taken'] = array(
      '#type' => 'checkboxes',
      '#options' => drupal_map_assoc(
                                 array('sat’=> t('SAT'), 
                                       'act' => t('ACT'), )
                            ),
      '#title' => t('What standardized tests did you take?'),
      'default_value' => array('act') ,
    ...
        ),

ラジオボタンセット("#redios")要素の初期値はチェックボックスセット("#checkboxes")と違って、配列ではありません

  • ラジオボタンセット("#radios")の初期値セットが配列ではなく、配列のキーです
    $form['high_school']['tests_taken'] = array( 
    	'#type' => 'checkboxes', 
    	'#options' => array(
    					'sat’=> t('SAT'), 
    					'act' => t('ACT'), 
    					) , 
    	'default_value' => 'act' , 
    	'#title' => t('What standardized tests did you take?'), 
    ... ),
    • もちろん、ラジオボタンセットは単一の選択なので、初期値のセットに配列の必要はありません
  • ラジオボタンセット("#radios")の定義("#options")はチェックボックスセット("#checkboxes")同じように連想配列の使用が可能です
ホーム

古松

検索

Article Category

  • apache(7)
  • css(19)
  • drupal(295)
  • Electron(4)
  • html(34)
  • javascript(27)
  • laravel(4)
  • linux(5)
  • macOS(2)
  • mysql(13)
  • php(19)
  • python(4)
  • SEO(12)
  • video(72)
  • Visual Studio Code(4)
  • windows(13)
  • wordpress(32)