データベース内の値(X個の要素、各要素のプロパティなど)に基づいて、「X」フォーム要素(具体的にはテキストフィールド)を入力する必要があるフォームを作成しています。Drupal Form APIを使用してこれを行う方法はありますか、それとも別の場所から開始する必要がありますか?フォーム生成関数でfor()ループを使用しようとしましたが、これは機能しません。提案や関連リンクを投稿してください。
1275 次
1 に答える
1
確かに、DBからの値を#default_valueに設定するだけです。
$form['text'] = array(
'#type' => 'textfield',
'#default_value' => $db->val,
);
EDIT($questionnaire)
は、すべての質問を保存した「question_list」という名前のパラメーターを含む
質問表オブジェクトがあると言います。あなたができることは、次のようなリストでforeachを実行することです。
$form['questionnaire'] = array('#type'=>'fieldset','#title'=>$questionnaire->title,);
foreach($questionnaire->question_list as $id=>$question_obj){
$form['questionnaire']['question_'.$id]=array(
'#type'=>'textfield',
'#title'=>$question->question,
'#default_value'=>$form_state['values']['question_'.$id],
);
}
最後に、各質問が「question_」で識別される連想配列が作成されます。$ id
これがあなたが探しているものであることを願っています。:)
于 2010-10-22T20:36:08.453 に答える