`
zccst
  • 浏览: 3322603 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

yii中引入js和css文件

    博客分类:
  • YII
yii 
阅读更多
作者:zccst

四、在视图层(../views/..)添加CSS文件或JavaScript文件
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.
注:这些参数仅适用于加载js文件,不适用于加载css文件。

三、引入jquery核心部件
Yii::app()->clientScript->registerCoreScript('jquery');

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


二、在控制层(../controllers/xxController.php)添加CSS文件或JavaScript文件
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';
}  



一、在../layouts/main.php中引入
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这样的文件生成,还在继续探索中。

如果您觉得本文的内容对您的学习有所帮助,您可以微信:
分享到:
评论

相关推荐

    yii2 页面底部加载css和js的技巧

    在Yii2中,一个资产包可以被看作是一个资源集合,例如JavaScript和CSS文件,它允许你在视图层简单地通过调用`AppAsset::register`方法来引入一个包含多个资源文件的包。 在Yii2中使用自定义的资产包时,可以在`...

    Yii2 加载css、js 载静态资源的方法

    在布局模板中如果需要在某个特定页面内部引入外部的CSS或JavaScript文件,仅使用`&lt;script&gt;`或`&lt;link&gt;`标签是不足够的,需要使用AppAsset类提供的`addJs()`和`addCss()`方法。 在AppAsset类中,`addJs()`方法用于按...

    Yii2(归档文件)框架

    7. **前端构建工具**:通常配合如 Gulp 或 Grunt 进行前端资源的自动化构建,优化 CSS 和 JavaScript 文件。 **Composer**:作为 PHP 的依赖管理工具,Composer 在 Yii2 中起到了关键作用。它可以安装和更新项目所...

    详解Yii2高级版引入bootstrap.js的一个办法

    它遵循MVC(模型-视图-控制器)设计模式,并且在前端资源管理方面,Yii2使用了Asset Bundles来管理JavaScript和CSS文件。 Asset Bundles是Yii2中管理前端资源(包括JavaScript文件、CSS文件以及图片等)的一种方式...

    YII2框架整合H+后台UI框架

    1. **安装H+**: 将`H+`的前端资源(CSS、JavaScript、图片等)复制到`YII2`项目的`web`目录下,通常可以放在`web/css`、`web/js`和`web/images`等相应子目录中。确保路径正确,以便于在视图文件中引用。 2. **调整...

    yii2-easyui:适用于Yii2的Jquery Easyui插件

    2. 配置应用,确保Yii2知道如何加载EasyUI的CSS和JS文件。这可以在视图布局文件中直接引入,或者通过Yii2的asset管理机制自动处理。 3. 在视图文件中使用EasyUI的HTML标签和组件,结合Yii2的视图助手(例如`yii\...

    详解PHP的Yii框架中自带的前端资源包的用法_.docx

    - `$css`和`$js`数组分别指定了CSS文件和JavaScript文件。 - `$depends`数组指定了依赖的其他资源包。 #### 五、资源包配置 1. **`yii\web\AssetBundle::sourcePath`**:指定资源包中包含资源文件的根目录。如果该...

    yii框架中文版手册pdf和chm格式

    - **Asset Manager**:资源管理器,处理CSS、JS等前端资源的合并、压缩和版本控制。 3. **Yii框架的学习资源**: - **PDF手册**:提供详细的API文档和技术指南,是学习Yii的重要资料。 - **CHM手册**:另一种...

    Yii框架执行流程及部分源码分析

    - `webroot`:网站的公共访问目录,包括CSS、JavaScript、图片资源以及入口文件`index.php`。 配置文件一般位于`protected/config/main.php`,用于设置应用的全局参数,如数据库连接、组件配置等。 2. **入口...

    Yii写的CMS系统

    Yii CMS系统在设计时考虑了权限管理,引入了角色基础访问控制(RBAC),这是一种用于管理用户权限和职责的有效机制。RBAC允许管理员定义不同级别的用户角色,并为每个角色分配相应的操作权限,从而实现细粒度的访问...

    CJuiDateTimePicker Yii中可用的日期-秒插件

    在使用CJuiDateTimePicker时,首先需要在Yii项目的视图文件中引入必要的CSS和JavaScript资源。这通常包括jQuery库、jQuery UI库以及CJuiDateTimePicker的插件文件。例如,在布局文件中添加以下代码: ```html $this...

    yii-basic-app-2.0.0.tgz

    6. **web**:公共可访问的目录,通常包含入口脚本index.php和静态资源(CSS、JS)。 7. **bootstrap.php**:应用启动文件,加载配置和组件。 8. **index.php**:Web应用的入口点,解析请求并初始化Yii框架。 总之,...

    YII中Ueditor富文本编辑器文件和图片上传的配置图文教程

    1. 下载并引入Ueditor库:在YII项目中引入Uditor相关JS、CSS文件及编辑器的图片和文件上传功能所需的后端接口文件。 2. 配置Ueditor:编辑器的配置通常位于editor_config.js文件中,通过更改options中的toolbars配置...

    YII view 常用extensions

    在Yii中,你可以通过在视图文件中引入ZTree的相关CSS和JS文件,然后配置JSON数据来创建和管理树节点。这对于构建目录导航、权限管理、组织结构等场景非常有用。 2. **源码分析**:在学习和使用这些扩展时,了解它们...

    yii-kendoui这个是yii与kendo的整合html5

    1. **整合方式**:Yii 和 Kendo UI 的整合通常通过在视图文件中引入 Kendo UI 的 CSS 和 JavaScript 文件来实现。然后,可以使用 Kendo UI 的组件来构建前端界面,并通过 AJAX 或 JSON 数据源与 Yii 的控制器进行...

    Yii2、miniui、mysql整合后台框架

    为了整合 MiniUI,你需要在项目中引入 MiniUI 的 CSS 和 JavaScript 文件,并确保它们在 HTML 中正确引用。MiniUI 的组件可以通过简单的 HTML 标签和属性来使用,结合 Yii2 的视图模板,可以快速构建出美观的后台...

    PHP的Yii框架使用中的一些错误解决方法与建议

    在Yii框架中,引入Js和Css文件非常简单,但需要注意的是,注册Js文件和Css文件的第二个参数有所不同。对于Js文件,第二个参数用于指定Js文件存放的位置,可以是页面头部(CClientScript::POS_HEAD)、页面开始处...

    YII框架实例视频后盾网马振宇

    YII2是YII框架的最新版本,相比于第一代YII框架,YII2在性能上有了显著提升,并且引入了许多新的特性和改进。 ### 安装与配置YII2框架 安装YII2框架通常有几种方法:通过Composer(推荐)、手动下载等。其中,...

    yii2-resource-smart-load:yii2 的这个扩展防止重新加载客户端上已经存在的资源

    可以禁用 JS/CSS 文件的原生过滤 限制 增加了传入流量(从客户端到服务器),因为扩展使用cookie和http标头。 这对于包含大量包含的资源文件的站点尤其重要。 这可以通过更改散列方法进行调整(请参阅扩展选项)。 ...

Global site tag (gtag.js) - Google Analytics