如何从yii中的另一个视图中检索一个视图中变量的值

时间:2013-08-12 10:39:30

标签: php yii yii-components

我在admin.php .i.e $approved中有一个变量。这是通过使用此代码的radiobutton的值得到的。

$approval = Yii::app()->request->getParam('approval',"0");

现在,我需要将此变量从管理页面传递到更新页面。为此,我写了以下几行

array(
            'class'=>'CButtonColumn',
                        'template'=>'{update}',
                        'buttons' => array(
                    'view' => array (                    
                        'url' => 'Yii::app()->controller->createUrl("/testSettings/update", array("id"=>$data->Id,"approval"->$approval))',
                    ),
                ),

我无法在_form.php中检索$ approved的值。 但是,当我给出echo $ approved时,会显示PHP通知,说$approved not defined但是$ approval的实际值应该是1.这是什么意思,我该如何解决这个问题。

2 个答案:

答案 0 :(得分:0)

<强>已更新

您可以将该值传递给_form,如图所示

$this->renderPartial('_form',array('approval'=>$approval);

您可以作为值参数传递

'columns'=>array(
      array(
          'name'=>'yorName',
          'value'=>function($data, $row) use ($controller){
                return $controller->renderPartial('_form', array('approved'=>$approved), true);
          }
      )
  ),

答案 1 :(得分:0)

使用Yii::app()->createUrl或在视图中,您可以使用带有this关键字的控制器上下文解决方案: 在管理员视图中:

array(
            'class'=>'CButtonColumn',
                        'template'=>'{update}',
                        'buttons' => array(
                    'view' => array (                    
                        'url' => 'Yii::app()->createUrl("/testSettings/update", array("id"=>$data->Id,"approval"=>$approval))',
                    ),
                ),

在控制器更新操作中,您必须将批准作为参数($ _GET)传递:

public function actionUpdate($id,$approval){
    //your code here
}