2

私は Drupal 7 の初心者です。

mymodule_formsDrupal Form API を使用しており、フックを介して状態のリストを表示するドロップダウンを使用する必要があります。

$form['work_state'] = array(
  '#title' => t('Work State'),
  '#type' => 'select',
  ...
);

コンテンツ タイプ フィールドで定義された状態のリストを既に持っています。

コンテンツ タイプ (つまり、forms_stipend) をロードし、フィールド (つまり、field_states) を取得するにはどうすればよいでしょうか。それが取得されたら、利用可能な状態のリストを上記のコードに入力し始めることができます。

いつもお世話になっておりますので、どうぞよろしくお願いいたします。

4

1 に答える 1

3

field_info_field()フィールドがリスト型であると仮定すると、次の関数を使用してフィールドから許可された値を取得できます。

$info = field_info_field('field_states');
$options = $info['settings']['allowed_values'];

$form['work_state'] = array(
  '#title' => t('Work State'),
  '#type' => 'select',
  '#options' => $options
);
于 2012-05-31T23:14:28.233 に答える