用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3713|回复: 0
收起左侧

[核心代码 Core] 如何修改CodeIgniter视图view默认位置,共享了

[复制链接]
发表于 2012-2-27 23:00:03 | 显示全部楼层 |阅读模式
为什么要修改CodeIgniter视图view默认位置呢?
原因是方便查找页面的images,css,js等,感觉比较直观,我喜欢模板和管理后台的页面,都放在根目录。

引用论坛:
拓展下Loader即可(system/core/Loader.php)。拓展方法参考手册。默认情况下,在Loader的解析函数里面定义了views的路径:

PHP
  /**
         * Constructor
         *
         * Sets the path to the view files and gets the initial output buffering level
         *
         * @access        public
         */
        function __construct()
        {
                $this->_ci_view_path = APPPATH.'views/';
                $this->_ci_ob_level  = ob_get_level();
                $this->_ci_library_paths = array(APPPATH, BASEPATH);
                $this->_ci_helper_paths = array(APPPATH, BASEPATH);
                $this->_ci_model_paths = array(APPPATH);

                log_message('debug', "Loader Class Initialized");
        }

引用手册:
扩展核心类
如果你需要在现有类库中加入一两个新的功能,那就完全不必要替换整个类库文件.你只需简单地扩展(继承)现有的类,扩展一个类就像在类中增加一些例外:

扩展的类必须申明由母类扩展而来.
新扩展的类所在的文件必须以 MY_ 为前缀(这个选项是可配置的,下面有说明).
例如,要扩展原有的Input 类,你应该新建一个文件名为application/core/MY_Input.php, 并按如下声明你的类:

我在application/core/建立一个Niwo_Loader.php,代码:
class Niwo_Loader extends CI_Loader
        {               
                function __construct()
                {
                        parent::__construct();
                }
               
                //$view是视图位置
                function get_templates($view = 'templates')
                {
                        $this->_ci_view_paths = array(FCPATH.'/'.$view.'/'        => TRUE);
                }                       
        }

本版积分规则