Thinkphp3的手冊上說的很清楚:
使用<include file="$tplName" />可以把模板放到變量裏動態加載模板。
但是呢?實測不行,這個標籤不解析變量。
不用等更新了,官方至今都沒有補丁,而且到Thinkphp5這個問題都沒解決。
解決思路:自己修改Thinkphp內核。或者曲線救國。自己修改內核的方法在此不再說明,網上有教程和帖子,目前我遇到的情況曲線救國就可以了。就是通過switch標籤來實現。
<switch name="data.template">
<case value='text' break='1'><include file="sysedittext"/></case>
<case value='textarea' break='1'><include file="sysedittextarea"/></case>
<case value='editor' break='1'><include file="sysediteditor"/></case>
<case value='image' break='1'><include file="syseditimage"/></case>
<case value='album' break='1'><include file="syseditalbum"/></case>
<case value='video' break='1'><include file="syseditvideo"/></case>
<case value='videoalbum' break='1'><include file="syseditvideoalbum"/></case>
<case value='music' break='1'><include file="syseditmusic"/></case>
<case value='musicalbum' break='1'><include file="syseditmusicalbum"/></case>
<case value='file' break='1'><include file="syseditfile"/></case>
<case value='files' break='1'><include file="syseditfiles"/></case>
<case value='datetime' break='1'><include file="syseditdatetime"/></case>
<default />沒有附加選項
</switch>
不可以使用php原生的include,包含進來之後模板標籤不會被解析。
不過我看,以後開發過程中,改內核可能還是遲早的事。