2016-04-13 5 views
1

Yiiのドロップダウンリスト?私のモデル符号化におけるマイビューページで

$cpfTabledropdown = ManageConfiguration::getModulesetting(); 
    echo $form->dropdownList($useraccount, 'skill_type', $cpfTabledropdown, array('class' => 'form-control', 'prompt' => 'Select SKill Type', 'disabled' => $useraccount->id_type == 3 ? false : true)); 

public static function getModulesetting() { 
    $models = HrmoduleSettings::model()->findAll('type="6"'); 
    return CHtml::listData($models, 'id', 'name'); 
} 

今列SUBCATを使用して、いくつかの静的データ連結の名前でそのリターンたlistDataを望んだ、という点で、その静的データをCONCATする方法yiiの名前の値を返すPHPコーディングの場合、

以下のようなドロップダウンリストのデータをYII.Its PHPコーディングの下に表示したいと思っていますが、YII.ISを書く方法はわかりませんYIIに以下のPHPコードを記述しますか?

<select name ="UserAccount[skill_type]"> 
    <?php 
    foreach ($cpfTabledropdown as $models) { 
    if ($models->subcat_type == 1) 
     { 
     $cate = "Skilled"; 
     } 
     else { 
     $cate = "Unskilled"; 
     } 
     ?> 
     <option value ="<?php echo $models->id; ?>"><?php echo $cate . " " . $models->name; ?></option> 
    <?php 
     } 
     ?> 
     </select> 
+0

なぜ、新しいバージョンのgetModuleSetting関数を作成してそのようにしないのですか? – topher

答えて

0

この方法を使用します。

public static function getModulesetting() { 
    $models = HrmoduleSettings::model()->findAll('type="6"'); 
    return CHtml::listData($models, 'id', 
      function($models) { 
      $cate = "What Ever"; // $cate content 
      return $cate . ' ' . $models->name; 
    }); 
} 
0

ビュー内のデータに関連するコードを追加することを避けることができるようにあなたは、あなたのHrmoduleSettingsクラスにゲッターを作成することができます。

public function getNameWithCategory() 
{ 
    if ($this->subcat_type == 1) 
     return "Skilled " . $this->name; 
    else 
     return "Unskilled " . $this->name; 
} 

は今、あなたはあなたのCHtml::listData()コールに少し変更を加える必要があります::

CHtml::listData($models, 'id', 'nameWithCategory'); 

をそして、それはそれだ

は、あなたのHrmoduleSettingsクラスに次のメソッドを追加します!

関連する問題