我想调取问答社区标志为首页的话题

发布于 2019-11-09 17:22:39

{ask:taglist id="item" cache="false" flag="index" limit="8"}
我想调取问答社区标志为首页的话题,这样写为什么没作用

查看更多

关注者
0
被浏览
59
Karson
Karson FastAdmin创始人 2019-11-09
FastAdmin!

查看了下插件代码,目前话题列表不支持flag参数,有两种办法你可以实现。
第一种修改Tag.php,找到addons/ask/model/Tag.php中第99行,添加

//如果有设置标志,则拆分标志信息并构造condition条件
$flag = empty($tag['flag']) ? '' : $tag['flag'];
if ($flag !== '') {
    if (stripos($flag, '&') !== false) {
        $arr = [];
        foreach (explode('&', $flag) as $k => $v) {
            $arr[] = "FIND_IN_SET('{$v}', flag)";
        }
        if ($arr) {
            $condition .= "(" . implode(' AND ', $arr) . ")";
        }
    } else {
        $condition .= ($condition ? ' AND ' : '');
        $arr = [];
        foreach (array_merge(explode(',', $flag), explode('|', $flag)) as $k => $v) {
            $arr[] = "FIND_IN_SET('{$v}', flag)";
        }
        if ($arr) {
            $condition .= "(" . implode(' OR ', $arr) . ")";
        }
    }
}

然后使用

{ask:taglist id="item" cache="false" flag="index" limit="8"}
{/ask:taglist}

即可。
第二种,直接使用condition属性

{ask:taglist id="item" cache="false" limit="8" condition="'index'=flag"}
{/ask:tag}
1 个回答

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览