항목이있는 Yii 프로젝트의 양식에 드롭 다운을 표시하려고합니다. _form.php보기 파일에서뷰 파일에 표시 할 변수를 수행 할 위치는 어디입니까?
echo $form->dropDownList($model,'element_id', $Options);
을 사용할 수 있음을 알고 있습니다.
$ options 변수를 이행하는 가장 좋은 장소는 어디입니까? 어떤 파일에? 보기? 컨트롤러?
항목이있는 Yii 프로젝트의 양식에 드롭 다운을 표시하려고합니다. _form.php보기 파일에서뷰 파일에 표시 할 변수를 수행 할 위치는 어디입니까?
echo $form->dropDownList($model,'element_id', $Options);
을 사용할 수 있음을 알고 있습니다.
$ options 변수를 이행하는 가장 좋은 장소는 어디입니까? 어떤 파일에? 보기? 컨트롤러?
컨트롤러에서보기로 변수를 전달해야합니다. 변수의 데이터는 모델에서 가져와야합니다.
$보기가 더 많은보기에서 사용됩니까? 대답이 '예'인 경우 주 컨트롤러 (모든 컨트롤러가 확장되는 컨트롤러) 또는 main.php에 배치합니다. , 장소는 동일한보기
현재의 모델은 _form.php
모델에 액세스 할 수 있기 때문에 이러한 목적을위한 최선의 선택에서 그 변수가 하나 개의보기 및 관련 clases, ID에 사용되는 경우
해야한다 따라서 데이터를 쉽게 얻을 수 있습니다. 컨트롤러에서 _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());