上一篇文章讲解“模型-模板布局之全局配置方式”,本篇文章讲解“模板-模板布局之模板标签方式”。
模板标签方式
这种布局模板不需要在配置文件中设置任何参数,也不需要开启layout_on,直接在模板文件中指定布局模板即可,相关的布局模板调整也在模板中进行。
以前面的输出模板为例,这种方式的入口还是在index/index.html模板,但是我们可以修改下index模板文件的内容,在头部增加下面的布局标签(记得首先关闭前面的layout_on设置,否则可能出现布局循环):
1)基本使用
①在index.html模板头部增加布局标签
②在布局模板view/layout.html中添加布局模板的{__CONTENT__}特定字符串
预览:
{layout name="layout" /}表示当前模板文件需要使用layout.html布局模板文件,而布局模板文件的写法和上面第一种方式(全局布局方式)是一样的。当渲染index/index.html模板文件的时候,如果读取到layout标签,则会把当前模板的解析内容替换到layout布局模板的{__CONTENT__}特定字符串。
注意:
1. 一个模板文件中只能使用一个布局模板,如果模板文件中没有使用任何layout标签则表示当前模板不使用任何布局。
2)使用其他的布局模板
如果需要使用其他的布局模板,可以改变layout的name属性,例如:
①在index.html模板中设置使用其他布局模板
②在view/public/下新建lay.html布局模板
预览:
3)指定要替换的特定字符串
还可以在layout标签里面指定要替换的特定字符串:
①在index.html模板中指定要替换的特定字符串:
②修改public/lay.html布局模板中的特定字符串
预览:
注意:
1. 布局模板的默认替换的特定字符串为{__CONTENT__}。
2. 以上设置的特定字符串为[__REPLACE__],那在布局模板中就要使用[__REPLACE__],替换字符串的定界符可以自定义,一般为花括号“{__REPLACE__}”
?ThinkPHP5连载为卓象程序员原创,转载请联系卓象程序员
关注卓象程序员,定期发布技术文章
下一篇讲解“模板-模板布局之动态方法布局”