メインコンテンツに移動
ホーム

古松

メインナビゲーション

  • ホーム
  • ビデオ
  • ご連絡

パンくず

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

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

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")同じように連想配列の使用が可能です

検索フォーム

カテゴリ別

  • laravel
  • drupal
  • javascript
  • windows
  • html
  • mysql
  • php
  • apache
  • css
  • SEO
  • video
  • wordpress
  • linux
  • python
  • Electron
  • Visual Studio Code

google ads