0

Yii プロジェクトの for items のフォームにドロップダウンを表示したいと考えています。私は私が使用できることを知っています

echo $form->dropDownList($model,'element_id', $Options); 

_form.php ビュー ファイル内。

$options 変数を満たすのに最適な場所はどこですか? どのファイルで?見る ?コントローラー?

4

3 に答える 3

11

_form.phpモデルにアクセスでき、データを簡単に取得できるため、現在のモデルがこの目的に最適なオプションです。コントローラからにデータを渡すことはできますが_form.php、これはより多くの作業です。

データベースからデータを入力する場合(たとえば、データベーステーブルから国を表示tbl_countriesする場合)、モデルに関数を記述してそれらをロードできます。

/* Get all countries. */
public function getCountries(){
  $allCountries =  Countries::model()->findAll();
  return CHtml::listData($allCountries, "id", "name")
}

これにより、ID番号をキーとして、国名を値として持つ配列が得られます。次に、ビューファイルからこの関数を呼び出すことができます。

echo $form->dropDownList($model,'element_id', $model->countries()); 
于 2012-12-31T11:57:55.233 に答える
1

コントローラーからビューに変数を渡す必要があります。変数のデータはモデルから取得する必要があります。

于 2012-12-30T12:16:14.740 に答える
0

$options はより多くのビューで使用されますか? 答えが「はい」の場合、メイン コントローラー (すべてのコントローラーが拡張するコントローラー) または main.php に配置します。

その変数が 1 つのビューでのみ使用され、クラス、ID に関しては、場所は同じビューにある必要があります。

于 2012-12-30T12:38:05.393 に答える