在thinkphp 3.1中,并没有对自带的标签库做详细说明,所以在使用中难免会有些问题。
总结一下几点:
1.引用标签库的语句 <tagLib name=”html” /> 并不一定非要写在页面开始,写在你所要使用标签位置的前面即可
2.当要在标签中使用已被解析的变量时如何使用, 示例代码:
<foreach name=”list” item=”area”>
<tr>
<td>{$area.area_name}</td>
<td>{$area.area_code}</td>
<td>
<tagLib name=”html” />
<html:select name=”id” options=”state_list” selected=’area[“state”]’ />
</td>
<td><a href=”index.php?s=/AreaState/drop/id/{$area.id}”>删除</a></td>
</tr>
</foreach>
以上代码的加粗部分,当在使用<html:select >标签时,如果selected中有用到变量,那么变量的正确写法应该是只写入变量名即可(即不带$和{}符号),如果变量是个数组值,那么直接使用PHP中的数组值写法即可。
如上代码,如果使用selected=”{$area.state}” 的写法,此变量是不会被正确解析的。
同理,<html:radio>等标签也同样如此。
当开启调试模式后,在Runtime/Cache/目录下会生成模板缓存文件,查看其内容可以知道标签的解析原理。