解决yii2 禁用layout时AppAsset不加载资源的问题

原创 2016年08月30日 15:37:05

大王派我来巡山_site:http://blog.csdn.net/wang78699425/article/details/52369841

最近由于项目(yii2 的一个项目)需要,登录页面不需要使用布局(layout),使用单独的页面,然后我就在登录视图里面加了一行代码$this->context->layout = false 来禁用layout,同时使用 module\assets\AppAsset::register($this) 来加载资源(css、js等),刷新页面,发现css、js全都未加载进来,懵逼~。
后来调试半天,发现是通过$this->beginPage() 等来引入的,只有在视图上加入几个必需的代码,资源才会引入,代码如下:

<?php
module\assets\AppAsset::register($this);
$this->context->layout = false;
?>

<?php $this->beginPage() ?> <-- 必需 -->
<html>

<-- 视图代码块 -->

<body>
<?php $this->beginBody() ?> <-- 必需 -->

<-- 视图代码块 -->

<?php $this->endBody() ?> <-- 必需 -->
</body>
</html>
<?php $this->endPage() ?> <-- 必需 -->

Yii2-资源管理(Assets)

Yii 中的资源(asset) 是一个要引入页面的文件。可以是 CSS, JavaScript 或任何其他文件。框架提供了很多种途径来使用资源,从最简单的方式比如使用标签 添加文件(在 视图 一章中...
  • xmlife
  • xmlife
  • 2015年05月13日 18:02
  • 3772

YII assets使用

为什么用YII assets 1.assets的作用是方便模块化,插件化的,一般来说出于安全原因不允许通过url访问protected下面的文件 ,但是我们又希望将module单独出来,所以需要...

Yii2--禁用layout后引入Js、Css

想去掉layout , 使用 this−>layout=false之后,页面上通过CommonAsset::register(this->layout = false 之后,页面上通过CommonAs...

YII2前端资源Assets

在手册里面我们看到如下的解释也就是说在我们的应用(高级模版在frontend/backend)下面的assets目录下定义的又一个文件叫做AppAsset.php在这个文件里面你可以定义你的js或者c...

[yii2]不加载layout布局文件的实现方法

Yii框架默认渲染模板的时候会渲染布局,新创建的项目也包含了3个默认的布局:main.php column1.php column2.php,并且默认创建了一个公共控制器 Controller.p...

yii2中使用$layout控制布局文件

yii2与yii在选择布局文件上有一点比较大的不同,yii是既可以在/protected/views/layout/main.php设置布局文件,也可以使用下面语句设置,但yii2中我没有找到相关的设...

Yii2 模块化开发 配置

最近接到一个任务,用模块化的思想开发官网.开始的时候理解错误,直接建了一个项目出来,后来在网上看了教程,根据我的理解,做了个demo出来:1.创建模块.根据文档,可以使用yii2自带的gii生成器来完...

yii2框架的模块化使用

大型项目会用到模块化modules; 在模块下建立多个不同的模块,每个模块下又分为MVC三层结构和一个模块类文件(此文件的作用就相当于入口文件),通过模块类文件来加载这个模块; 建好模块之后就需要...

使用yii2的appasset资源管理包

Yii2.0对于CSS/JS 管理,使用AssetBundle资源包类。视图如何按需加载CSS/JS ? 资源包定义: backend/assets/AppAsset.php...

PHP错误处理机制抛出错误类型

p $path = "D:\\in.txt"; try { file_open($path); //尝试打开文件 } catch(Exception $e) { ech...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解决yii2 禁用layout时AppAsset不加载资源的问题
举报原因:
原因补充:

(最多只允许输入30个字)