博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CI框架主题切换的功能
阅读量:6943 次
发布时间:2019-06-27

本文共 1146 字,大约阅读时间需要 3 分钟。

 CI框架主题切换的功能

本人接触到这个框架不就,属于菜鸟 , 公司现在用CI框架做项目 ,老大要做一个主题切换的功能,说明功能的要求我的脑子里瞬间有几个想法.

脑子里最简单的就是设置全局变量

    如 :

        

 

      从数据库里面查找出数据然后使用

              

     后面同事说这样用麻烦 , 这样的话没个方法都要先查下 ,然后替换 world , 因为world 是整个模板的文件  ,改world 意味着该文件夹,从而达到切换的目的

         

    第二个方法

         同事CI开发的经验比我老道 ,建议我使用父类建个变量赋值的方法

     如下:

         先声明     

          

           然后赋值    

 

          

         最后调用  

 

         这种方法比第一种方法好些,少了调用这步 ,就可以直接用了

         但是这种还是不好,老大教我一种更好的方法,改入口文件的 view 

          

        

            假如他的目录是

          

          那么只要在template 拼接这个 world  这个变量就可以达到目的  

       但是 不要以为 直接在父类 define('viewpath',$world) 或者是 define('viewpath',   'template'.'/'.$world.'/')

                     这类写法统统错误,园主一开始就是这么干的   

        正确做法是在 core 的目录建一个MY_loader.php 文件然后

public function view($view, $vars = array(), $return = FALSE)    {        $CI =& get_instance();        $res = $CI->db->where()->get()->row_array();        $mol = json_decode($res['content'],true)['catalog'];        return $this->_ci_load(array('_ci_view' => $mol.'/'.$view, '_ci_vars' => $this->_ci_object_to_array($vars), '_ci_return' => $return));    }

 

    原来就是设置加载 模板变量里的 view 的路径 , 从而view 显示时就不用那么长的路径,简化了路径

    

     是不是简单了好多  ^_^

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/liubaoqing/p/6909754.html

你可能感兴趣的文章
mysql手动停止无响应查询方法
查看>>
Android UI(三)SlidingMenu实现滑动菜单(详细 官方)
查看>>
linux 通用IO
查看>>
AFNetworking 系列教程
查看>>
VirtualBox安装及使用说明和虚拟机安装XP系统图文教程
查看>>
转 selenium 自动下载文件
查看>>
[LeetCode] Pascal's Triangle
查看>>
浏览器加载和渲染html的顺序
查看>>
Oracle SQLPLUS提示符设置
查看>>
symfony学习笔记1—简介
查看>>
腾讯要求
查看>>
[LeetCode] Min Stack
查看>>
Failed to create java virtue machine(不能创建java虚拟机)
查看>>
使用SandCastle创建.Net帮助文档
查看>>
c++builder XE8 线程 Thread
查看>>
redis安装 phpredis Jedis 扩展的实现及注意事项,php,java,python相关插件安装实例代码和文档推荐...
查看>>
CMake with Win&MinGW
查看>>
C# 字符串转义和反转义
查看>>
避免3种响应式设计灾祸
查看>>
http://www.cnblogs.com/hoojo/archive/2011/06/08/2075201.html
查看>>