-2

この行を使用して、更新ボタンの URL を作成しています。

'url'=>'$this->grid->controller->createUrl("/testSettings/update", array("id"=>$data->Id,"approval"=>0))' 

承認のために値をハードコーディングしたので、これは正常に機能します。ここで、この 0 を別の変数 $approval の値に変更する必要があります。これどうやってするの。つまり、私はこれを与えなければなりません

'url'=>'$this->grid->controller->createUrl("/testSettings/update", array("id"=>$data->Id,"approval"=>$approval))' 

以下は、フォームの添付コードです

<form action="index.php">         
<?php $approval = Yii::app()->request->getParam('approval',"0");?>    
<?php echo CHtml::radioButtonList('approval',$approval,array('0'=>'Greetings Approval','1'=>'Contact Approval'),array(
    'labelOptions'=>array('style'=>'display:inline'),
    'onclick' => 'this.form.submit()', 
    'separator'=>''));     ?>
<?php echo CHtml::hiddenField('r', 'testSettings/admin'); ?>     
</form> 
4

1 に答える 1

3

これを行うには2つの方法があります。

  1. モデル (「$data」オブジェクトのクラス) に、ロジックに従って true または false を返す「isApproved()」というメソッドを作成します。あなたはそれから言うことができます

    'url'=>'$this->grid->controller->createUrl("/testSettings/update", array("id"=>$data->Id,"approval"=isApproved()))'
    
  2. $approval 変数がビューのどこかに設定されている場合 (これは良い習慣とは見なされません)、次のようなクロージャーを使用することもできます。

    'url'=> function($data) use ($approval) { return CController::createUrl("/testSettings/update", array("id"=>$data->Id,"approval"=>$approval) }  
    
于 2013-08-13T10:42:22.747 に答える