Yii2中的某些页面布局相同

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

我是一个yii新手。我有一个页面叫main.php。我想其他一些页面使用main.php作为布局。我的项目视图在“site”文件夹中。我为这些视图创建了一个文件夹和一个单独的控制器。但是它不起作用。我添加了$this-〉layout = 'main'到我的项目中

ymdaylpp

ymdaylpp1#

将您的main.php或任何布局文件放在views/layouts文件夹中。
在控制器中使用此选项:public $layout = '/main';
或者在行动中:$this->layout = '/main';

cbjzeqam

cbjzeqam2#

在你的Yii 2脚手架目录里应该有一个
您的应用程序/视图/布局
把布局文件main.php放到这个目录下
(or编辑或替换现有的)
在需要新布局的controllerAction中完成后,请分配布局

$this->layout = 'main';

class YourController extends Controller
{
    ....
    public function actionYourAction()
    {
        .......

        $this->layout = 'main';
        return $this->render( ....        ]);
    }
6gpjuf90

6gpjuf903#

要更改ALL控制器和操作,您必须在config/main.php文件中添加以下内容:

[
     // ...
     'layout' => 'main',
     'components' => [
         //...
     ]
]

更改一个控制器:

class SiteController extends Controller

{

    public $layout='//layouts/main';

    public function init() {
        // ...
    }
    //...
}

只需一次操作即可完成更改:

public function actionIndex()
{
    $this->layout = 'mian';

    return $this->render('index', ['model' =>$model]);
}

相关问题