-2

我正在使用这些行来创建更新按钮的 URL。

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

这很好用,因为我已经硬编码了值以供批准。现在我必须用另一个变量 $approval 的值来改变这个 0。我怎样才能做到这一点。即我必须给这个

'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

我想说有两种可能的方法:

  1. 您在模型(“$data”对象的类)中创建一个名为“isApproved()”的方法,根据您的逻辑返回 true 或 false。然后你可以说

    '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 回答