2012-04-13 11 views
1

チームの横にdelete teamボタンがあるページがあります。 チームがグループに属していないときは、チームをグループに追加するためのチェックボックスとボタンがあります。 私はアクションビューで、チームを持つグループのリストをレンダリングすると書いています。 GroupControllerでYiiのearchボタンにアクションを割り当てる方法は?

actionView

public function actionView($id) { 
    $group = $this->loadModel($id); 

    $teamlst = Group::getAllTeamOfGroup($id); 
    $teamnotlst = Group::getAllTeamNotInGroup($id); 

    // Submit 
    $preSelectedItems = array(); 
    if (isset($_POST['teamlist'])) { 
     $preSelectedItems = array(); 
     foreach ($_POST['teamlist'] as $selectedItem) { 
      $preSelectedItems[] = $selectedItem; 
     } 
    } 
    // $teamNo = CHtml::listData($teamnotlst, 'id', 'name'); 

    //Delete  




    $this->render('view', array(
     'model' => $group, 
     'teamlst' => $teamlst, 
     'preSelectedItems'=> $preSelectedItems, 
     'group_id'=>$id, 
     'teamnotlst' => $teamnotlst, 
    )); 

    if(isset($_POST['btndeleteteam'])){ 
      TeamGroup::model()->deleteTeamGroup($team->id, $model->ID); 
    } 

} 

ビューファイル内

<div class="action">  
    <input type="submit" name="btnupdateteam" value="Update Team">   
</div> 
<?php echo CHtml::endForm(); ?> 
<div class ="team"> 

<div class="column1"> 
    <?php foreach ($teamlst as $team): ?> 

     <div class="row"> 
      <?php 
      echo $team->name; 

      ?> 
      <input type="submit" name="btndeleteteam" value="Delete Team"> 
      <?php 
      if(isset($_POST['btndeleteteam'])){ 
       TeamGroup::model()->deleteTeamGroup($team->id, $model->ID);  

      }?> 
     </div> 


    </div><!-- comment --> 
<?php endforeach; ?> 
    <?php  

    $preSelectedItems = array(); 
     if (isset($_POST['teamlist'])) { 
      $preSelectedItems = array(); 
      foreach ($_POST['teamlist'] as $selectedItem) { 
       $preSelectedItems[] = $selectedItem; 
      } 
     } 

    $teamNo = CHtml::listData($teamnotlst, 'id', 'name'); 
    echo CHtml:: checkBoxList('teamlist', $preSelectedItems, $teamNo); 
    ?> 

</div> 

<div class ="team available"> 

</div> 

私の考えは、あなたがdelete teamボタンをクリックしたときに、それがグループからチームを削除し、私はこのための方法を持っているということです

TeamGroup::model()->deleteTeamGroup($team->id, $model->ID);  

グループに属していないチームには、チェックボックスがオンになっている場合にチームをグループに追加するチェックボックスと更新ボタンがあります。

ありがとうございます!

答えて

2

私はあなたの問題がある右のものを理解すれば、あなたはこのdoc章

http://www.yiiframework.com/doc/guide/1.1/en/basics.controller#action

すべてのあなたの行動すなわちdeleteまたはaddを読み取る必要があるビュー

の代わりに、コントローラに存在してはなりませんこのビューでは:

 if(isset($_POST['btndeleteteam'])){ 
      TeamGroup::model()->deleteTeamGroup($team->id, $model->ID);  

     }?> 

このようなものをコントローラに追加する必要があります

public function actionDelete($id) { 
    TeamGroup::model()->deleteTeamGroup($id);  
    $this->redirect('group/view'); 
} 

、代わりにこのように、この

<input type="submit" name="btndeleteteam" value="Delete Team"> 

何かがビュー

<a href="<?php echo Yii::app()->createUrl("group/delete",array('id'=>$team->id));?>">delete</a> 

でなければなりませんか、あなたのニーズに合ったCGridViewを変更することができるの

関連する問題