数据库模板无法解析与位置相关的标签的BUG及解决方案

浏览:465 发布日期:2014/05/24
3.2.1 - 严重 - 未处理
数据库模板无法解析include、layout等与位置相关的标签,除非有VIEW的其他模板解析操作在前面。
原因:THEME_PATH可能在template.class.php中使用时还没有定义,从页无法定义与位置有关的文件,也就会对相关的标签无法解析或解析为空。
现象:
1、以内容方式show出来,如果采用了布局layout,结果为空。
2、以内容而非模板文件show时,其中的<include file />都是空的。
解决方法:
在121行开始增加:            // 获取当前主题名称
            $theme = $this->getTemplateTheme();
    
            // 获取当前模块
            $module   =  MODULE_NAME;
            if(strpos($template,'@')){ // 跨模块调用模版文件
                list($module,$template)  =   explode('@',$template);
            }
            // 获取当前主题的模版路径
            if(!defined('THEME_PATH')){
                define('THEME_PATH', C('VIEW_PATH')? C('VIEW_PATH').$theme : APP_PATH.$module.'/'.C('DEFAULT_V_LAYER').'/'.$theme);
            }
评论(
后面还有条评论,点击查看>>