将数组传递给$ this-> beginWidget在控制器的Header中使用?

时间:2014-05-12 12:58:17

标签: php yii

我在Header布局中使用Widget。

在我的控制器中。我设置了以下变量:

public $testVal="testing";

我在YII中创建了一个小部件,我在我的页眉布局中使用它:

<?php  $this->beginWidget('CountryWithCityWidget'); $this->endWidget();?>  

我的小部件代码是:

<?php
class CountryWithCityWidget extends CWidget
{
public $countryList;
public $cityList;

 public function init()
{

    print_r($testVal);// I need $testVal testing here from view ***How ????***
    echo "==============================";
    die;


    parent::init();
}

public function run()
{
     $this->render('countryWithCityWidget',array('countryList' => $this->countryList,'locationDetailList'=>$this->cityList));
}
}
?>

在视图中,我会像$this->testVal那样得到它,然后从视图中我想将$ testVal发送到我正在使用它的小部件。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

尝试

$this->widget('CountryWithCityWidget', array(
    'testVal' => $testVal
));

并向您的窗口小部件类添加属性testVal。同时将$testVal var传递给您的观点。

for further reading