🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 模板渲染 在控制器里面模板渲染,可以使用基类封装好的 fetch 方法; > ThinkCT 设置的模板文件名分隔符是`/`,模板后缀名为`html` 常见 fetch 调用方法如下: 1.不带任何参数: ~~~ return $this->fetch(); ~~~ 系统会按照默认规则自动定位模板文件,其规则是: ~~~ 当前主题目录/当前应用/当前控制器(小写+下划线)/当前操作(小写)+.html ~~~ 2.指定渲染当前控制器下的某个模板文件 ~~~ return $this->fetch('edit'); ~~~ 模板定位规则是: ~~~ 当前主题目录/当前应用/当前控制器(小写+下划线)/edit.html ~~~ 3.指定渲染某个控制器下的某个模板文件 ~~~ return $this->fetch('UserArticle/list'); ~~~ 模板定位规则是: ~~~ 当前主题目录/当前应用/user_article/list.html ~~~ 4.跨模块渲染模板(非特殊情况下这种方法在 thinkct 中不推荐使用) ~~~ return $this->fetch('portal@UserArticle/list'); ~~~ 模板定位规则是: ~~~ 当前主题目录/portal/user_article/list.html ~~~ 5.从视图根目录开始读取模板 ~~~ return $this->fetch('/list'); ~~~ 或 ~~~ return $this->fetch(':list'); ~~~ 模板定位规则是: ~~~ 当前主题目录/当前应用/list.html ~~~ > 注:以上调用方式,控制器和操作并不要求有实际对应的控制器和操作,它只是目录名称和文件名称而已; 6.渲染实际存在的模板文件 ~~~ return $this->fetch('./themes/home/index.html'); ~~~ ## 内容渲染 有时你的模板内容可能存在数据库或者其它地方,需要直接解析内容,而不用通过模板文件,这时就可以使用控制器的`display`方法 ~~~ $content='你的模板内容'; return $this->display($content); ~~~ > 注:渲染的内容中一样可以使用模板引擎的相关标签。