如何在yii中为一个特定的控制器动作或视图设置布局?

57hvy0tb  于 2022-11-09  发布在  其他
关注(0)|答案(3)|浏览(128)

嗯,这部分是非常重要的。我正在与YII的一个项目工作。我遇到了一个问题,像,我试图设置我的一个动作在控制器的布局。首先,这个动作甚至没有采取默认布局提到,其中另一个动作actionIndex()在同一控制器上工作良好。然后我试着在控制器中使用$this->layout='//layouts/new',甚至在视图渲染到控制器时也尝试使用它。这甚至不起作用。我检查了它是否将任何$content返回到布局new.php。但它甚至没有返回到新的。php.die()不工作,即使我把它放在布局的第一行。我需要这方面的帮助。

f0ofjuux

f0ofjuux1#

public function actionTest() {
        $this->layout = 'new';
        $this->render('test');

    }

在视图/布局文件夹中创建新布局。

t3irkdon

t3irkdon2#

在我看来,您的操作甚至没有到达需要呈现视图的位置。操作代码中可能存在某种错误,使其无法继续进行到最后。为了进行测试,请清除操作中除以下代码之外的所有代码,并在此处发布错误。

$this->layout = '//layouts/new';
$this->render('view',array(
    'model'=>$model,
));

这假定您已定义了以下布局和视图:

protected/views/layouts/new.php
protected/views/<controllername>/view.php

new.php是回显$content的地方,view.php是显示$model信息的地方

plicqrtu

plicqrtu3#

把这个放进你的控制器(yii 1.1)

public function beforeAction($action) {
    $this->layout = '//layouts/newlayout';
    return true;
}

相关问题