午夜91福利视频,午夜成人在线观看,午夜在线视频免费观看,午夜福利短视频,精品午夜成人免费视频APP

模板渲染

模板渲染

版本 新增功能
5.0.4 支持渲染視圖根目錄的模板文件

渲染模板最常用的是繼承系統的控制器基類后調用fetch方法,調用格式:

fetch('[模板文件]'[,'模板變量(數組)'])

模(mo)板文件的寫法支持下面幾種:

用法 描述
不帶任何參數 自動定位當前操作的模板文件
[模塊@][控制器/][操作] 常用寫法,支持跨模塊
完整的模板文件名 直接使用完整的模板文件名(包括模板后綴)

下面是一(yi)個最典型的用法(fa),不(bu)帶任何參數:

// 不(bu)帶任何參(can)數 自動定位當前操(cao)作的(de)模(mo)板文(wen)件
return $this->fetch();

表示系統會按照默認(ren)規則自動定位(wei)模板文件,其規則是:

當前模塊/默認視圖目錄/當前控制器(小寫)/當前操作(小寫).html

V5.0.16+版本開始,默認的模板文件名規則改為實際操作方法名的小寫+下劃線寫法。但可以配置template.auto_rule的值為2 恢復之前(qian)的全小寫(xie)規則。

如果有更改模板引擎的view_depr設置(假設 'view_depr'=>'_')的(de)話,則(ze)(ze)上(shang)面的(de)自(zi)動(dong)定(ding)位規則(ze)(ze)變成(cheng):

當前模塊/默認視圖目錄/當前控制器(小寫)_當前操作(小寫).html

如果沒有按照模(mo)板定(ding)義規則來定(ding)義模(mo)板文件(或者需要(yao)調用其他控制(zhi)器下面的某個模(mo)板),可以使用:

// 指(zhi)定模板(ban)輸出
return $this->fetch('edit'); 

表示調用當前控(kong)制器下面的(de)edit模板

return $this->fetch('member/read');

表示(shi)調(diao)用Member控制器(qi)下面的read模板。

跨模塊渲染模板

return $this->fetch('admin@member/edit');

渲染輸出不需要寫模板文(wen)件的(de)路徑(jing)和后綴。這(zhe)里(li)面(mian)的(de)控制(zhi)(zhi)(zhi)器和操作(zuo)并不一(yi)定需要有(you)實際(ji)對應的(de)控制(zhi)(zhi)(zhi)器和操作(zuo),只是一(yi)個目錄名稱(cheng)和文(wen)件名稱(cheng)而已,例如,你的(de)項(xiang)目里(li)面(mian)可(ke)能(neng)根本沒(mei)有(you)Public控制(zhi)(zhi)(zhi)器,更沒(mei)有(you)Public控制(zhi)(zhi)(zhi)器的(de)menu操作(zuo),但是一(yi)樣可(ke)以使(shi)用

return $this->fetch('public/menu');

輸(shu)(shu)出(chu)這個模板(ban)文(wen)件。理解了這個,模板(ban)輸(shu)(shu)出(chu)就清晰了。

fetch方法支持在渲染輸出的時候傳入模板變量,例如:

return $this->fetch('read', ['a'=>'a','b'=>'b']);

V5.0.4+版(ban)本開始(shi),支持從(cong)視圖(tu)根目(mu)錄開始(shi)讀取模(mo)板,例如:

$this->fetch('/menu');

表示讀(du)取的模板是

當前模塊/默認視圖目錄/menu.html

如果你的控制器類沒有繼承系統的控制器基類,請使用系統提供的助手函數view進行渲染輸出。

自定義模板路徑

如果(guo)你的模(mo)(mo)板(ban)文(wen)件位置(zhi)比較特殊或者需要(yao)自定義模(mo)(mo)板(ban)文(wen)件的位置(zhi),可以(yi)采用下面的幾(ji)種方式(shi)處理。

渲染完整模板

return $this->fetch('./template/public/menu.html');

這種方式需要帶模板路徑和后綴指定一個完整的模板文件位置,這里的template/public目(mu)錄是位于當前項(xiang)目(mu)入口文件位置下(xia)面。如果是其他的后綴文件,也支持直(zhi)接輸出(chu),例如:

return $this->fetch('./template/public/menu.tpl');

只要./template/public/menu.tpl是一(yi)個實際存(cun)在的模板(ban)文件。

要注意(yi)模(mo)(mo)板(ban)文件位置是相對于(yu)應用的入口文件,而(er)不(bu)是模(mo)(mo)板(ban)目錄。

渲染內容

如果希望直接解析內容而不通過模板文件的話,可以使用display方法:

return $this->display($content,$vars);

渲染的內容中一樣可以使用模(mo)板引擎的相關標(biao)簽。

文檔最后更新時間:2018-04-26 10:29:06

文檔
目錄

深色
模式

切換
寬度