2016-11-14 20 views
1

私はユーザーモデルを持っています。それは1,2,3の数字を含むフィールド "ロール"を持っています。 1 - 管理者、2 - モデレーター、3 - 単純ユーザー。ユーザーを管理するCRUDコントローラを作成しました。 view.phpを開くと、 "1"の代わりに "admin"が表示されます。番号の代わりに属性の表示名を設定します

私は2つの状態で操作すると、私は以下のように使用します。しかし、それ以上はどうですか?

<?php $this->widget('zii.widgets.CDetailView', array(
'data'=>$model, 
'attributes'=>array(
    'status' => array(
    'name' => 'status', 
    'value' => ($data->status==0)?"Good":"Bad", 
    ), 
), 
)): ?> 

答えて

0

方法この

<?php $this->widget('zii.widgets.CDetailView', array(
    'data'=>$model, 
    'attributes'=>array(
     'status' => array(
     'name' => 'status', 
     'value' => ($data->status==0)?"Good":"Bad", 
    ), 
     array(
      'name' => 'your_name' 
       'value' => array($this,'yourActionForDescription') 
     ) 


), 
)): ?> 

あり、これは(グリッドビューが機能yourActionForDescriptionため、そのコントローラの関数を検索することを意味する)

コントローラで

public function yourActionForDescription($data,$row){ 

     $your_value = $data->your_value_column_name; 
     //do what you need for retrive your value 
     //for eg. 

     return $yourSearchedModel->description ; 
    } 

別方法は関係に基づいています

関連する問題