ak_if的安全替代品ak_ifnotempty

ak_if强大而灵活,但如果运用不当也会造成安全隐患。大多数情况下我们不需要这么灵活,只需要一个简单可靠又安全稳定的判断变量是否为空,ak_ifnotempty就是干这个事的。大多数情况下我们都建议你用ak_ifnotempty,而不是更灵活的ak_if。除非你很明确的知道ak_if的好处,并规避了潜在的问题。

ak_ifnotempty和ak_if一样,只能用于嵌套,它的支持三个参数:

第一个参数:要判断的变量

第二个参数:如果变量不为空(空字符串)就显示

第三个参数:如果变量为空就显示

常见的用途有:判断评论是否有回复(实例1),判断内容是否有图片(实例2)

实例1:

<{getcomments itemid=$id orderby="id_reverse" num="1000" template="<div class=()post-body()> <img src=()/images/dot2.gif()> [message]<br /><span style='color:red'><#ak_ifnotempty(#)[%review](#)回复:[%review](#)#></span></div><div class=()post-footer()>IP段:[secretip] | [username] 发表于 [y]-[m]-[d] [h]:[i]:[s] </div>" colspan="1" overflow="<hr />"}>

实例2:

<{getitems category="1,2,3" template="<#ak_ifnotempty(#)[%picture](#)<img class='dgestimg' src='[picture:160*120]' />(#)#>摘要:[data:288]</div>
</h5><h6 class='post-footer'>分类:<a href='[categoryurl]'>[category]</a> | 浏览:[pv] | 评论:[commentnum]</h6></div>"}>