Php 覆盖yii2中的包和布局

Php 覆盖yii2中的包和布局,php,yii2,Php,Yii2,我正在yii2项目中创建一个页面 我想更改该页面的布局 我该怎么做? 我确实在layouts文件夹中创建了新布局 还创建了新的捆绑包,并像这样在视图页面上注册 MobileAsset::register($this); <div class="container"> <ul class="list-group"> <li class="list-group-item"><span class="badge">12</span>

我正在yii2项目中创建一个页面 我想更改该页面的布局 我该怎么做? 我确实在
layouts
文件夹中创建了新布局 还创建了新的
捆绑包
,并像这样在
视图
页面上注册

MobileAsset::register($this);

<div class="container">
<ul class="list-group">
    <li class="list-group-item"><span class="badge">12</span> New</li>
    <li class="list-group-item"><span class="badge">5</span> Deleted</li>
    <li class="list-group-item"><span class="badge">3</span> Warnings</li>
</ul>
mobileaset::register($this);
  • 12个新项目
  • 5已删除
  • 3条警告

但它仍然使用默认布局
layout/main.php
它在该文件上同时使用这两个包 我该怎么做才能让view file只使用
MobileAsset
而不使用
AppAsset

那么我在这里做错了什么呢?

您需要添加
$this->layout='layout\u name'。
所以,代码就像

public function actionName()
{
    $this->layout = 'layout_name';
    .......
    ...
}

要更改整个控制器中的布局,请执行以下操作:

Class SiteController extends Controller
{
    Public $layout ="abc";
    .......
}
要仅更改选定操作,请执行以下操作:

Public function actionTest() {
    $this->layout ="abc";
}