## 模板渲染
在控制器里面模板渲染,可以使用基類封裝好的 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);
~~~
> 注:渲染的內容中一樣可以使用模板引擎的相關標簽。