您的位置:首页 > 编程语言 > PHP开发

yii asset 初步

2016-06-23 13:38 405 查看
yii 版本是2.0 .8

我 js 目录 web->js->login.js

页面引入js方法一:

  $this->registerJsFile('@web/js/login.js',['depends'=>['app\assets\AppAsset']]); 红色必需

页面引入js方法二:

  直接在 asset->AppAsset 里对应的 $js 数组里添加 文件 如 $js = [ 'js/login.js', ]

  yii 他引入外部js文件也是到这个 asset->AppAsset 文件里找的,所以当我们自己写了个如 asset->TestAsset

  我们要引入他全部的js,css文件时 ,在页面 注册它 如

  use app\assets\TestAsset;
  TestAsset::register($this);

  他就会自动加载进去了

另 可以在 asset->AppAsset 里加入两个方法

//定义按需加载JS方法,注意加载顺序在最后
public static function addScript($view, $jsfile) {
$view->registerJsFile($jsfile, ['depends' => 'app\assets\AppAsset','position'=> $view::POS_END]);
}
//定义按需加载css方法,注意加载顺序在最后
public static function addCss($view, $cssfile) {
$view->registerCssFile($cssfile, ['depends' => 'app\assets\AppAsset',$view::POS_END]);
}

引入文件 页面 如下

use app\assets\AppAsset;
AppAsset::register($this);
AppAsset::addScript($this,'@web/js/login.js');

加入自己layout文件也是差不多,

如 admin_layout 我们在一个公共的控制里 的init 方法里 指定渲染的模板 $this->layout = '/main_admin'; 完成

Yii2 获取模块名、控制器名、方法名

在视图中:
模块名 $this->context->module->id
控制器名 $this->context->id
方法名 $this->context->action->id

在控制器中
模块名 Yii::$app->controller->module->id;
控制器名 Yii::$app->controller->id
方法名 Yii::$app->controller->action->id;

模块名 $this->module->id;
控制器名 $this->id;
方法名 $this->action->id;

在控制器的 beforeAction 方法中(方法接收$action参数)

模块名 $action->controller->module->id;
控制器名 $action->controller->id;
方法名 $action->id;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: