## 模板渲染
在控制器里面模板渲染,可以使用基类封装好的 fetch 方法;
> 淘码部 设置的模板文件名分隔符是`/`,模板后缀名为`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);
~~~
> 注:渲染的内容中一样可以使用模板引擎的相关标签。