Bookmark and Share

Lee's 程序人生

HTML CSS Javascript XML AJAX ATLAS C# C++ 数据结构 软件工程 设计模式 asp.net Java 数字图象处理 Sql 数据库
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

Yii Framework: 修改核心 JS 文件位置

Posted on 2010-02-24 21:55  analyzer  阅读(1082)  评论(0编辑  收藏  举报

在 yii framework 中, 作者已经方便的为我们整合了一系列非常有用的 js 类库。当我们调用相关的 function 或者 widget 时, 框架会建立一个核心 js 文件目录的副本, 放到 assets/xxxx 临时目录下,然后自动为我们加载需要的 js 文件。怎么样? 是不是这个临时目录的位置很别扭? 那我们现在就来看一下如何修改这个核心 js 目录的位置。

首先在我们的项目中把 /framework/web/js/source 目录下的所有文件复制到自己建立的 js 目录中。我们这里使用 /scripts/core 作为我们自己的 js 核心目录。

然后修改我们的应用程序配置文件 main.php, 加入下列代码:

<?php
return array(
............
       // auto load classes
	"import" => array(
		"application.extensions.*",
	),
 
..........
 
       // asset path setting
	"assetManager" => array(
		"basePath" => "./scripts/core",	
	),	
 
...............
);
 
?>

最后建立 一个 BaseController 继承 CController 并放在 /protected/extensions 目录下,修改下里面的 init() 函数:

<?php
 
class BaseController extends CController {
 
	public function init() {
		Yii::app()->clientScript->coreScriptUrl = Yii::app()->baseUrl . "/scripts/core";
		parent::init();
	}
}
?>

之后让我们建立的所有其他的 controller  都集成 BaseController。

提示:我们还可以在BaseController中作很多初始化的工作,所以这个类是非常有必要的。

现在运行我们的程序看看, 我们现在使用的是不是 /scripts/core 下面的 js 文件了? 如果是的话,那就抛弃 /assets/xxxx 这样的临时目录吧。

我要啦免费统计