:<select>에 (key-> value), 필드에 "key"가있는 모델이 있습니다. "키"대신보기에서 "값"을 어떻게 표시 할 수 있습니까? 모델에서
public function getOptionsGender()
{
array(0=>'Any', 1=>Male', 2=>'Female');
}
보기에서 (편집) :
echo $form->dropDownList($model, 'gender', $model->optionsGender);
하지만 난과 CDetailView
이 "원시"속성, 대신 성별의 번호를 표시합니다.
$attributes = array(
...
'gender',
)
성별에 다시이 숫자를 변환하는 적절한 방법은 무엇입니까?
$this->gender = getOptionsGender($this->gender)
과 같은 필드를 대체하여 모델에서 사용해야합니까? 모든 github 예제는 매우 감사하겠습니다.나는이 것과 관련이없는 몇 가지 견해에서 성별, 연령, 도시, 국가 등을 선택해야했습니다. 내
getOptionsGender
함수 정의는 어디에 배치해야합니까? 당신의 도움에 대한
감사는 문제가 해결된다. 모델에서 :
보기에서public function getGenderOptions() { ... }
public function genderText($key)
{
$options = $this->getGenderOptions();
return $options[$key];
}
: 작업 예제는 여기에서 찾을 수 있습니다
$attributes = array(
array (
'name'=>'gender',
'type'=>'raw',
'value'=>$model->genderText($model->gender), //or $this->genderText(...)
),
);
$this->widget('zii.widgets.CDetailView', array(
'data'=>$model,
'attributes'=>$attributes,
));
: 제프리 Winsett의 책 "YII 1.1과 민첩한 웹 응용 프로그램 개발"에서 https://github.com/cdcchen/e23passport/blob/c64f50f9395185001d8dd60285b0798098049720/protected/controllers/UserController.php