ak_if的安全替代品ak_ifnotempty

注意:AKCMS已于2019年12月27日宣布停止更新,此文档仅供老用户参考,不建议新用户选择AKCMS建站。
注意:AKCMS6.1.2已取消授权机制,文档中关于授权、服务、技术支持等的内容均已失效。
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>