前提:
配置文件不定义view_ba
模块内模板渲染文件定位均正常
Bug:
跨模块调用(module_name@aaa/bbb),系统定位出来的文件路径中view_path还是(view),未能正确替换为定义的view_path(如 view_mobile)
发现源码中parseTemplate两个地方定位方式不一致:
文件 think\Template
parseTemplateFile(){
$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'];
} 最佳答案