2019-04-03 13:37:57 1379次浏览 0条回答 0 悬赏 10 金钱

在Yii2.0中,view模板文件里面的$this已经不是对应的控制器对象了,而是View对象的变量。我们可以通过View对象中的params变量来传递数据。

先获取当前View,然后给view设置参数,

class SiteController extends Controller
{


public function actionIndex()
{
//设置当前view的params参数,
$view = Yii::$app->view;
$view->params['layoutData']='test';

return $this->render('index');
}
}

在layouts/main.php
<?php
use yii\helpers\Html;
use yii\bootstrap\Nav;
use yii\bootstrap\NavBar;
use yii\widgets\Breadcrumbs;
use frontend\assets\AppAsset;
use frontend\widgets\Alert;

/**
* @var \yii\web\View $this
* @var string $content
*/
AppAsset::register($this);
?>
<?php $this->beginPage() ?>
<!DOCTYPE html>
<html lang="<?= Yii::$app->language ?>">
<head>
<meta charset="<?= Yii::$app->charset ?>"/>
<title><?= Html::encode($this->title) ?></title>
<?php $this->head() ?>
</head>
<body>
<?php $this->beginBody() ?>

<?php echo $this->params['layoutData']?>
    没有找到数据。
您需要登录后才可以回答。登录 | 立即注册
PHP学院的中学生
副总裁

PHP学院的中学生

注册时间:2018-10-23
最后登录:2024-09-23
在线时长:168小时13分
  • 粉丝29
  • 金钱4725
  • 威望30
  • 积分6705

热门问题