yii框架如何把css、js、image发布到assets中

  1. 研究了一下怎么加css、js,网上的好多资料都是在框架根目录下的第一层有css、js文件夹,大家觉得不利于协同开发时各人自扫门前雪的特质,想在各自的module下维护一套,没想到的是,这样的情况下registerCssFile等函数失效了,大概意思是protected下边的东西不允许访问,当然了,我也不太明白为什么,也不确定是否是我哪里没设置对。但是本着解决问题的精神,发现assets是个好东东。我们可以使用如下代码自由加载css等到asset文件夹下,可以选择单个文件、某个文件夹下的所有子文件夹等方式进行加载,而且这种加载方式可以避免重复加载,节省资源。
$cs=Yii::app()->clientScript;
$cssDir=Yii::getPathOfAlias("access.css") ;
$published = Yii::app()->assetManager->publish($cssDir);
	$cssFile = $published . "/" . "homemain.css";
	if (!Yii::app()->clientScript->isCssFileRegistered($cssFile)) {
	   Yii::app()->clientScript->registerCssFile($cssFile);
	} ?>
2. 上面用到的assetmanager是/web/CAssetManager.php中描述的,其中publish函数有如下参数:$path:css等文件的位置,$hashByName是否对在assets文件夹下生成的资源文件夹进行哈希,$level加载方式(单文件、文件夹全加载神马的),$forceCopy是否强制每次都重新加载(个人认为css调试的时候用比较好,否则修改过的css可能因为不重新加载而不能立即生效)。综上所述,很简单的,js、image同理。
3.  
//在底部加载自定义JS
Yii::app()->clientScript->registerScriptFile("xxx",CClientScript::POS_END); 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值