yii中引入js和css文件

作者:zccst

[size=large]四、在视图层(../views/..)添加CSS文件或JavaScript文件[/size]

Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . "/js/TableView.js");
Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . "/js/datechooser.js");
Yii::app()->clientScript->registerCssFile(Yii::app()->baseUrl . "/css/datechooser.css");

批注1:在视图层引用与在控制层引用的方式一样。但在视图层中引用加载的要晚一些。
批注2:引用路径是使用baseUrl,而不是basePath。
批注3:关于参数CClientScript::POS_END,作用是延时加载,提高页面渲染效率。例如:
Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . "/js/jqueryui/jquery-ui.min.js", CClientScript::POS_END);
全部参数一览:
CClientScript::POS_HEAD : the script is inserted in the head section right before the title element.
CClientScript::POS_BEGIN : the script is inserted at the beginning of the body section.
CClientScript::POS_END : the script is inserted at the end of the body section.
CClientScript::POS_LOAD : the script is inserted in the window.onload() function.
CClientScript::POS_READY : the script is inserted in the jQuery's ready function.
[color=red]注:这些参数仅适用于加载js文件,不适用于加载css文件。[/color]

[size=large]三、引入jquery核心部件[/size]

Yii::app()->clientScript->registerCoreScript('jquery');

批注:不论在页面中的何种位置引用,最终yii会将jquery.js文件放入yii的assets文件夹下。即/projectName/assets/82qg58/jquery-1.6.1.min.js。


[size=large]二、在控制层(../controllers/xxController.php)添加CSS文件或JavaScript文件[/size]

public function init()
{
//parent::init();
Yii::app()->clientScript->registerCssFile(Yii::app()->baseUrl.'/css/my.css');
Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl.'/css/my.js');
}


新增:
在控制层,还可以在ActionIndex中引入,而且还可以引入别的module文件夹中的js/css文件。甚至是任意文件夹下的js/css文件

public function actionIndex(){
$modify,$reg = some_value;
$js = $this->renderFile($this->getInstallViewPath(). '/asset/install.js',array('reg_mp'=>$reg), true);
$js = $this->renderFile($this->getViewPath() . '/assets/install_params.js', array('modify' => $modify), true);

$cs = Yii::app()->clientScript;
$cs->registerScript('asset/install', $js, CClientScript::POS_END);
$cs->registerCssFile(Yii::app()->baseUrl . '/css/launch_feed.css');
$cs->registerScript('assets/install_params',$js,CClientScript::POS_END);
$cs->registerScriptFile(Yii::app()->baseUrl . '/resources/jquery.form.js');
$cs->registerCssFile(Yii::app()->baseUrl . '/css/install_params.css');

$this->render('xxx');
}

public function getInstallViewPath() {
return $this->getModule()->getBasePath().'/../operations/views';
}



[size=large]一、在../layouts/main.php中引入[/size]
1,直接引入


<!-- css -->
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/print.css" media="print" />
<!-- 图片 -->
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/js/autocomplete/indicator.gif" />
<!-- js -->
<script type="text/javascript" src="<?php echo Yii::app()->request->baseUrl; ?>/js/jquery.js"></script>


2,yii方式引入

<?php
<!-- (一)简单用法 -->
<!-- js -->
Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . "/js/jqueryui/jquery-ui.min.js", CClientScript::POS_END);


<!-- (二)复杂用法 -->
if($this->user->id) {
Yii::app()->clientScript->registerScriptFile(Yii::app()->createUrl('/account/info', array('format' => 'js')), CClientScript::POS_END);
}

if($this->user->id) {
Yii::app()->clientScript->registerScriptFile(Yii::app()->createUrl('site/baseJs'));
}
?>


批注:在yii运行后,第一种在head中,第二种在body最后面,显然后者效率更高。但必须加载的js和css有必要写在head中。


3,区别


批注:至于为什么会有/assets/b729ab/js/jquery.js这样的文件生成,还在继续探索中。

如果您觉得本文的内容对您的学习有所帮助,您可以微信:
[img]http://dl2.iteye.com/upload/attachment/0109/0668/fb266dfa-95ca-3d09-b41e-5f04a19ba9a1.png[/img]
微信图片.dat文件解密实战:用Python一键转PNG(附完整代码) 本文详细介绍了如何通过Python解密微信图片.dat文件并转换为PNG格式的完整教程。文章深入解析了微信.dat文件的异或加密原理,提供了自动检测密钥的Python脚本,并分享了批量解密性能优化的实用技巧,帮助用户轻松恢复整理微信聊天图片。 阅读详情

相关推荐

【软件定义汽车】-【架构篇】-全面讲解整车电子电气架构演进

前言: 前段时间,陆陆续续写了一些电子电气架构相关的文章。这里打算再写最后一篇作为收尾,为整个系列画上句号,把坑填上,这个话题就算过去了。后续一段时间,尽量把之前文章中挖的“坑”填一下。行文逻辑将借鉴5W2H进行。 另外,本文作为一篇整合性的文章,为保证逻辑的完整性,主要是将大量过去自己文章中的内容进行梳理整合,也存在很多行业内专家的公开文章的内容,请见谅。 WHAT1:什么是汽车电子电气架构? 电子电气架构:EEA,Electrical/Electronic Architecture.

零点壹客的博客 1万+

yii2 引入php文件,yii2如何引入js文件

问题:比如,我在web文件夹下建立css文件js文件,在assets建立资源控制器。那么我在view层的时候怎么调用web/css/test.css或者web/js/test/js文件呢?方法如下:一、模块引用(该模块的所有页面都会引用)Yii2对于CSS/JS 管理,使用AssetBundle资源包类。(推荐教程:yii框架)(注:YII2基础版 assets/AppAsset.php,YII...

weixin_33236271的博客 294

【keil5STC-ISP】保姆级下载安装教程

点击下载中的产品下载。然后就会看到如下界面:可以看到,提供了针对不同芯片架构的四套独立开发工具。:你使用的51单片机,其核心就是。C51套件里的编译器是专门为这个架构优化的。:如果安装了MDK-Arm,你在创建新项目时将像“AT89C51”这样的51系列芯片型号,无法进行开发。进入如下界面:双击下载 → 双击运行安装 → 同意协议并下一步 → 使用默认安装路径 → 完成安装。

深耕CV 1437

yii引入jscss文件

AppAsset::register($this); AppAsset::addScript($this, 'js/page/organization.js'); AppAsset::addCss($this, 'css/organization/organization.css');

hellowzm的博客 674

Yii引入jscss文件

在视图层(../views/..)添加CSS文件或JavaScript文件 Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . "/js/TableView.js"); Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . "/js/dat

天下无敌庞成勇 627

yii2 引入php文件,yii2怎么引入cssjs文件

引入方式有多种:1、可以直接在视图页面上引入=Html::cssFile('@web/css/index.css')?>=Html::jsFile('@web/js/jquery.min.js')?>2、可以直接写原生代码引入,路径是项目目录/web/css 或者/js3、可以使用assetBundle管理css样式及js脚本资源包定义:basic/assets/AppAsset.ph...

weixin_28788441的博客 268

yii2 引入php文件,Yii2如何引入cssjs文件

Yii2如何引入cssjs文件:比如我在web文件夹下建立css文件js文件。在assets建立资源控制器。那么我在view层的时候怎么调用web/css/test.css或者web/js/test/js文件两种方法:方法一、模块引用(该模块的所有页面都会引用)Yii2对于CSS/JS 管理,使用AssetBundle资源包类,(注:YII2基础版 assets/AppAsset.php,YI...

weixin_29009881的博客 264

yii2 php怎么引入css,Yii2学习笔记七:Yii2怎么引入cssjs文件

Yii2怎么引入cssjs文件1.首先需要在模板文件中添加use frontend\assets\AppAsset;AppAsset::register($this);

weixin_35215225的博客 418

yii2引入cssjs文件

最近研究yii2,本想自己写个小项目练习一下,没想到开始就遇到难题了,就是如何引入cssjs文件。闲话不多说,下面开始。 1、可以直接在视图页面上引入 <?php use yii\helpers\Html; ?> 2、可以直接写原生代码引入,路径是项目目录/web/css 或者/js 3、可以使用assetBundle管理css样式及js脚本. 资源包定义:ba

一呀一转转圈 6058

yii2.0引入php文件,yii2怎样引入cssjs文件_PHP开发框架教程

引入体式格局有多种:1、能够直接在视图页面上引入=Html::cssFile('@web/css/index.css')?>=Html::jsFile('@web/js/jquery.min.js')?>2、能够直接写原生代码引入,途径是项目目次/web/css 或许/js3、能够运用assetBundle治理css款式及js剧本资本包定义:basic/assets/AppAsset...

weixin_42492000的博客 254

Yiicssjs文件引入

Yiicssjs文件引入有很多种方式,下面讲三种:1.自定义路径创建一个php文件,比如constant.php,把他放到protected/config目录下,作为一个配置文件引入constant.php里代码如下:define('BaseUrl', Yii::app()->baseUrl); define('CSS_PATH', BaseUrl.'/asset...

weixin_34224941的博客 143

Yii引入css文件js文件

通常做法通常情况下我们使用一下方法来引入,直接写html代码引入 css 文件12345&lt;head&gt;...&lt;link rel="stylesheet" type="text/css" href="/css/main.css" /&gt;...&lt;/head&gt;引入 js 文件1&lt;script type="text/javascript" sr

乱舞的青春 302

Yii控制层处理结果返回前端的三种方式(render)

Yii控制层处理结果返回前端的三种方式 作者:zccst 批注:render会渲染layout,而renderPartial不会渲染。 [b]一、渲染方式[/b] 1,局部渲染renderPartial public function renderPartial($view,$data=null,$return=false,$processOutput=false) {...

zccst的专栏 807

YII异常处理actionError

zccst转 错误处理目录 1,引发异常 2,显示错误 3,使用一个动作来处理错误 4,消息记录 Yii提供了一个完整的,基于PHP5异常处理的错误处理机制。当一个应用开始运行,进行用户请求的处理的时候,会注册handleError方法来处理PHP warningsnotices信息;同时也注册加handleException方法来处理未被捕获的PHP异常。因此,如果在应用运...

zccst的专栏 720

Yii引入php文件及插件

作者:zccst [b]一、设置环境变量(在PHP)[/b] echo get_include_path(); //获取当前所有环境变量。即该项目中那些代码已被引用。 set_include_path('.'. PATH_SEPARATOR . Yii::app()->basePath.'/lib/PHPExcel' . PATH_SEPARATOR . get_includ...

zccst的专栏 476

yii之Log(日志)使用

作者:zccst Yii 提供了一个灵活可扩展的日志功能。记录的日志可以通过日志级别信息分类进行归类。通过使用级别分类过滤器,所选的信息还可以进一步路由到不同的目的地,例如一个文件,Email,浏览器窗口等。 [size=large]1. 信息记录[/size] 信息可以通过 Yii::log 或 Yii::trace 记录。其区别是后者只在当应用程序运行在 调试模式(d...

zccst的专栏 458

yii中设置默认时区语言

作者:zccst 把php从5.2升级到5.4后,发现5.4比5.2要求严格多了。 报如下错误: We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. 可以在index.php文件中添加如下: date_default_timezone_s...

zccst的专栏 373

Yii中使用session防止重复提交

表单提交时,由于网速等原因,会出现重复提交的现象。 一、从前端的角度:增加遮罩 二、从后端的角度:使用session。 [code="php"] //可复用代码 $session = Yii::app()->session; $user_id = $this->user->id; $sessionKey = $user_id.'_is_sending'; ...

zccst的专栏 341

ISO 14064-3-2019中文 温室气体声明的核查验证的规范.pdf

ISO 14064-3-2019中文 温室气体声明的核查验证的规范.pdf

上市公司企业-处理结果数据.xlsx

详细介绍及样例数据:https://blog.csdn.net/T0620514/article/details/144519707

上一篇: ExtJS之EditorGridPanel
下一篇: FusionCharts 参数解释
zccst
博客等级 码龄19年 153粉丝 661原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值