來源:互聯網
上載者:User
關鍵字
ThinkPHP
模板
輸出
display
用
本文執行個體分析了ThinkPHP模板輸出display用法。分享給大家供大家參考。具體分析如下:
模板變數賦值後就需要調用模板檔案來輸出相關的變數,模板調用通過display方法來實現,我們在操作方法的最後使用:
代碼如下:
$this->display();
就可以輸出模板,根據前面的模板定義規則,因為系統會按照預設規則自動定位模板檔案,所以通常display方法無需帶任何參數即可輸出對應的模板,這是模板輸出的最簡單的用法。
事情總有特例,或者根本不需要按模組進行分目錄存放,不過display方法總是能夠幫你解決問題。
Display方法提供了幾種規則讓你可以隨心所欲的輸出需要的模板,無論你的模板檔案在什麼位置。
下面來看具體的用法:
一、調用當前模組的其他動作模板
格式:display('操作名')
例如,假設當前操作是User模組下面的read操作,我們需要調用User模組的edit操作模版,使用:
代碼如下:
$this->display('edit');
不需要寫模板檔案的路徑和尾碼。
二、調用其他模組的操作模板
格式:display('模組名:操作名')
例如,當前是User模組,我們需要調用Member模組的read操作模版 ,使用:
代碼如下:
$this->display('Member:read');
這種方式也不需要寫模板檔案的路徑和尾碼,嚴格來說,這裡面的模組名和操作名並不一定需要有對應的模組或者操作,只是一個目錄名稱和檔案名稱而已,例如,你的項目裡面可能根本沒有Public模組,更沒有Public模組的menu操作,但是一樣可以使用
代碼如下:
$this->display('Public:menu');
輸出這個模板檔案,理解了這個,模板輸出就清晰了.
三、調用其他主題的操作模板
格式:display('主題名:模組名:操作名')
例如我們需要 調用Xp主題的User模組的edit操作模版,使用:
代碼如下:
$this->display('Xp:User:edit');
這種方式需要指定模組和操作名
四、直接全路徑輸出模板
格式:display('模板檔案名稱')
例如,我們直接輸出當前的Public目錄下面的menu.html模板檔案,使用:
代碼如下:
$this->display('./Public/menu.html');
這種方式需要指定模板路徑和尾碼,這裡的Public目錄是位於當前項目入口檔案位置下面,如果是其他的尾碼檔案,也支援直接輸出,例如:
代碼如下:
$this->display('./Public/menu.tpl');
只要./Public/menu.tpl是一個實際存在的模板檔案,如果使用的是相對路徑的話,要注意當前位置是相對於項目的入口檔案,而不是模板目錄.
事實上,display方法還有其他的參數和用法。
有時候某個模板頁面我們需要輸出指定的編碼,而不是預設的編碼,可以使用:
代碼如下:
$this->display('Member:read', 'gbk');
或者輸出的模板檔案不是text/html格式的,而是XML格式的,可以用:
代碼如下:
$this->display('Member:read', 'utf-8', 'text/xml');
如果你的網站輸出編碼不是預設的編碼,可以使用:
代碼如下:
'DEFAULT_CHARSET'=> 'gbk'
如果要輸出XML格式的,可以用:
代碼如下:
'TMPL_CONTENT_TYPE'=> 'text/xml'
如果不需要渲染模板檔案而是直接輸出內容,可以使用show方法,例如:
代碼如下:
$this->show($content, 'utf-8', 'text/xml');
希望本文所述對大家的ThinkPHP架構程式設計有所協助。