TP 5.0.X 模板跨模块调用有Bug

浏览:306 发布日期:2018/06/01 分类:ThinkPHP5专区 关键字: Template view_path

前提:
配置文件不定义view_base, 定义了view_path为其他文件夹(如 view_mobile),
模块内模板渲染文件定位均正常

Bug:
跨模块调用(module_name@aaa/bbb),系统定位出来的文件路径中view_path还是(view),未能正确替换为定义的view_path(如 view_mobile)

发现源码中parseTemplate两个地方定位方式不一致:
文件 think\TemplateparseTemplateFile(){
$path = isset($module) ? APP_PATH . $module . DS . basename($this->config['view_path']) . DS : $this->config['view_path'];
}
文件 think\view\driver\ThinkparseTemplate(){
//原实现方式
//$path = isset($module) ? APP_PATH . $module . DS . 'view' . DS : $this->config['view_path'];
//改成与think\Template->parseTemplateFile统一的方式,即可
$path = isset($module) ? APP_PATH . $module . DS . basename($this->config['view_path']) . DS : $this->config['view_path'];
}
最佳答案
评论( 相关
后面还有条评论,点击查看>>