模板解析../Public的问题,官方解决问题要速度啊

浏览:577 发布日期:2013/09/08
3.1.2 - 普通 - 未处理


请官方关注一下这问题 是否BUG 以及提出一个修改方案或者新版本。谢谢啦
貌似在模板解析../Public 的时候 是用的 APP_NAME 正确的应该是用 APP_PATH.希望官方关注一下

138-187行的代码 这是   /**
     * 自动定位模板文件
     * @access protected
     * @param string $template 模板文件规则
     * @return string
     */
    public function parseTemplate($template='') {
        $app_name=APP_NAME==basename(dirname($_SERVER['SCRIPT_FILENAME'])) && ''==__APP__?'':APP_NAME.'/';
        if(is_file($template)) {
            $group  =   defined('GROUP_NAME')?GROUP_NAME.'/':'';
            $theme  =   C('DEFAULT_THEME');
            // 获取当前主题的模版路径
            if(1==C('APP_GROUP_MODE')){ // 独立分组模式
                define('THEME_PATH',   dirname(BASE_LIB_PATH).'/'.$group.basename(TMPL_PATH).'/'.$theme);
                define('APP_TMPL_PATH',__ROOT__.'/'.$app_name.C('APP_GROUP_PATH').'/'.$group.basename(TMPL_PATH).'/'.$theme);
            }else{ 
                define('THEME_PATH',   TMPL_PATH.$group.$theme);
                define('APP_TMPL_PATH',__ROOT__.'/'.$app_name.basename(TMPL_PATH).'/'.$group.$theme);
            }
            return $template;
        }
        $depr       =   C('TMPL_FILE_DEPR');
        $template   =   str_replace(':', $depr, $template);
        // 获取当前主题名称
        $theme      =   $this->getTemplateTheme();
        // 获取当前模版分组
        $group      =   defined('GROUP_NAME')?GROUP_NAME.'/':'';
        if(defined('GROUP_NAME') && strpos($template,'@')){ // 跨分组调用模版文件
            list($group,$template)  =   explode('@',$template);
            $group  .=   '/';
        }
        // 获取当前主题的模版路径
        if(1==C('APP_GROUP_MODE')){ // 独立分组模式
            define('THEME_PATH',   dirname(BASE_LIB_PATH).'/'.$group.basename(TMPL_PATH).'/'.$theme);
            define('APP_TMPL_PATH',__ROOT__.'/'.$app_name.C('APP_GROUP_PATH').'/'.$group.basename(TMPL_PATH).'/'.$theme);
        }else{ 
            define('THEME_PATH',   TMPL_PATH.$group.$theme);
            define('APP_TMPL_PATH',__ROOT__.'/'.$app_name.basename(TMPL_PATH).'/'.$group.$theme);
        }

        // 分析模板文件规则
        if('' == $template) {
            // 如果模板文件名为空 按照默认规则定位
            $template = MODULE_NAME . $depr . ACTION_NAME;
        }elseif(false === strpos($template, '/')){
            $template = MODULE_NAME . $depr . $template;
        }
        return THEME_PATH.$template.C('TMPL_TEMPLATE_SUFFIX');
    }
评论(
后面还有条评论,点击查看>>