php – YII:从控制器传递数据到小部件?
发布时间:2020-05-25 09:07:05 所属栏目:PHP 来源:互联网
导读:我有一个搜索页面,将数据传递给渲染函数: public function actionIndex() { $this-render( searchResults, array( dataProvider = $dataProvider, searchQuery = $searchQuery, ) );} 问题是,我还
|
我有一个搜索页面,将数据传递给渲染函数: public function actionIndex() {
$this->render(
'searchResults',array(
'dataProvider' => $dataProvider,'searchQuery' => $searchQuery,)
);
}
问题是,我还需要将此数据从此处传递到侧边栏中显示的窗口小部件.窗口小部件当前显示在layout / main.php中,如下所示: <?php
$this->widget('searchSidebar',array(
'id' => 'searchSidebar',));
?>
如何在不必重新再次查询的情况下从控制器传递数据到这个范围? dataProvider已包含所有数据$dataProvider->data $dataProvider->getData() 要将它放在主布局中,您可以在Controller中创建另一个变量 class Controller extends CController
{
public $data_exchange='';
...
}
使用$this-> data_exchange可以很容易地在代码中随处操作,类似于主布局中的breadcrumbs $this->widget('searchSidebar',array(
'id' => 'searchSidebar','data' => $this->data_exchange
/* where $this refer to any class which extends Controller */
));
在您的视图代码中,将您的数据定义为: $this->data_exchange = $dataProvider->data (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
