🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 自定义过滤条件 自定义过滤条件,用于当我们的标签满足不了我们的筛选条件时使用,可以支持自定义SQL。 ### 支持范围 | 名称 | 支持情况 | 名称 | 支持情况 | | --- | --- | --- | --- | | nav | 支持 | execute | 不支持 | | query | 不支持 | prevnext | 支持 | | arclist | 支持 | arclist | 支持 | | blocklist | 支持 | commentlist | 支持 | | breadcrumb | 不支持 | channelinfo | 支持 | | channellist | 支持 | arclist | 支持 | | pagelist | 不支持(1.5.13+部分支持) | speciallist | 支持 | | taglist | 支持 | userlist | 支持 | | diydatalist | 支持 | pagefilter | 不支持 | | pageorder | 不支持 | spagelist | 支持 | | spageinfo | 支持 | pageinfo | 不支持 | | commentinfo | 不支持 | | | ### 使用示例 支持固定的SQL语句和动态的SQL语句,`字段名`首尾务必加上```字符,在使用动态SQL时由于使用拼接SQL,**请务必做好参数过滤** ~~~bash //固定的搜索条件 {cms:arclist id="item" row="8" orderby="id" orderway="desc" condition="`views`>1000"} {/cms:arclist} //固定的搜索条件 {cms:arclist id="item" row="8" orderby="id" orderway="desc" condition="`diyname`='test'"} {/cms:arclist} //动态的搜索条件 //这里要做好参数过滤 {php}$views=intval($_GET['views']);{/php} {cms:arclist id="item" row="8" orderby="id" orderway="desc" condition="`views` > $views"} {/cms:arclist} ~~~ 为了你的站点安全,强烈建议`condition`条件中不要拼接字符串查询,数字请使用`intval`做过好滤,会有安全隐患。如果使用了字符串拼接,请务必做好过滤,如使用`strip_tags`、`xss_clean`、`htmlspecialchars`做好过滤。 ### 使用别名 当我们在`arclist`标签中使用`condition`时,可能会调用到主副表,可以在`condition`中使用主表`fa_cms_archives`的别名`a`,副表`fa_cms_addonxxx`的别名`n`。 ### 温馨提示 当在`pagelist`中使用`condition`自定义筛选SQL时,不支持`condition`中使用变量。 当使用`condition`时,`condition`的值`不能以字母开头`,且`不能以空格结尾`