fenggoods 发表于 2012-2-27 23:00:03

如何修改CodeIgniter视图view默认位置,共享了

为什么要修改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);
                }                       
        }
页: [1]
查看完整版本: 如何修改CodeIgniter视图view默认位置,共享了