<if> 显示回复<if>可以删除</if> </if>
结果发现if标签不能这么嵌套,于是用eq代替内部的if(无奈之策)。虽然这个方法可行,但如果if中有多个条件AND或OR时,eq就没法替换if的这种功能了。
【如下方案经测试不可用】(本来以为找到好方法了,失望之极呀,if1不会被解析的,而是原样输出)
------------------------------------------------------------------------------------------------
于是乎多方查找,终于发现了如下的解决方案。<if condition="$a eq 1"> <if1 condition="$a eq 2"> 条件一 <if2 condition="$a eq 3"> 条件二 </if2> </if1> </if>
目前标签是否可以嵌套是在标签库的定义文件里面定义的,默认支持的包括if iterate present
注意,只有if嵌套的时候if标签才用别名,如下情况第三个if就不需要别名了.<if> <if1>条件1</if1> <if1>条件2</if1> </if>
条件2的if就没必要用if2了。
-----------------------------------------------------------------------------
【实际上】Thinkphp是支持多标签嵌套的。如果嵌套太多无法解析,可以设置默认的嵌套层次。
默认的嵌套层次是3级,所以嵌套层次不能超过3层,如果需要更多的层次可以指定TAG_NESTED_LEVEL配置参数,
例如:
'TAG_NESTED_LEVEL' =>5
可以改变循环嵌套级别为5级。
【另】我碰到的实际问题其实并不是if嵌套问题
<if condition="$Think.session.UID eq $vo['user_id']">%2