|
主题:[已答复]$IF条件是否在out1out2中调用{SQL_XX} ? [收藏主题] |
IF语句不支持放嵌套SQL标签
{$IF({$Field(child,Num,0,2)}>0||<ul>{SQL_顶部导航三_三级导航({$Field(id,GetInfoUrl,100,2)})} 这样使用是错的 IF语句是不会执行的 标签执行流程如下: 嵌套的如下SQL标签 是在IF执行后递归调用时才会执行 {SQL_顶部导航三_三级导航({$Field(id,GetInfoUrl,100,2)} 顶层标签解析到最后IF语句执行前 相应IF语句代码是这样的 {$IF(child值>0||<ul>{SQL_顶部导航三_三级导航({$Field(id,GetInfoUrl,100,2)})}</ul>||)} 这样是不符合IF语句正则的 {\$IF\([^{\$}]*} 看懂上面更好 看不懂也没必要过于深究 记住不支持这样使用就可以了 类似需求 应按统一规则做标签显示 然后利用JS判断情况做相应响应 {$IF({$Field(child,Num,0,2)}>0||<ul>{SQL_顶部导航三_三级导航({$Field(id,GetInfoUrl,100,2)})}</ul>||)} 可改成 <ul>{SQL_顶部导航三_三级导航({$Field(id,GetInfoUrl,100,2)})}</ul> js判断<ul></ul>是否有childnodes然后作相应的响应处理 |
|
支持(0) | 反对(0) 顶端 底部 |
<上一主题 | 下一主题 > |