CmsTop/discuz标签
来自站长百科
调用同一服务器上的discuz论坛帖子数据,兼容 Discuz! X。
示例:
{discuz dsn="discuz" fid="1" filter="all" published="1" keywords="cmstop" author="1" special="1,2" prefix="cdb_" orderby="dateline desc" size="$pagesize" page="$page"} <!-更多可使用字段,请参考discuz数据表posts、threads- <a href="htpp://url_to_discuz/tid={$r[tid]}">{$r[subject]}</a> {date('n月j日H:i',$r['dateline'])} {/discuz} {pages($total, $page, $pagesize, 2, $urlrule)}
参数列表:
- dsn所使用的论坛数据源(详细介绍可参考 {db} 参数列表),必选参数。
- prefix表前缀,默认为 cdb_ 。
- discuzX是否为 Discuz! X,建议使用 0(否,默认值), 1(是) 的方式表示。
- fid指定要调用的板块 ID,可以是数字或以英文逗号分隔的数字字符串,如:
fid="1" fid="1,2,4,5"
- filter主题过滤条件,默认不限制:
- filter="digest" 精华主题
- filter="top" 置顶主题
- special主题特殊属性过滤条件,默认不限制;可以是单个数字,也可以是以英文逗号分隔的特殊属性值字符串,如:
special="1" special="1,2"
Discuz! 默认特殊主题类型:
- 投票主题 1
- 商品主题 2
- 悬赏主题 3
- 活动主题 4
- 辩论主题 5
- published限制主题发布的时间范围,格式为数字,如:
published="7" 7 天以内发布的帖子
- keywords限制标题或内容中包含指定的关键词,格式可以为:
keywords="CmsTop"
包含单个 CmsTop 关键词的帖子
如果 keywords 不包含 OR 和 | 字符,比如下面的例子:
keywords="北京+思拓合众" keywords="北京&思拓合众" keywords="北京 AND 思拓合众" keywords="北京 思拓合众"
则表示必须同时包含 北京 和 思拓合众 这两个关键词(多个可以依次类推)。
只要 keywords 中包含了 OR 或 | 字符,那么 keywords 匹配模式就会变为只要包含其中任意一组关键词就行,keywords 会以 + 分组,比如:
keywords="北京+思拓合众|CmsTop" keywords="北京+思拓合众 OR CmsTop" 注意有空格
这个模式,只要包含三个单词中任意一个就会匹配成功。而keywords="北京&思拓合众|CmsTop" 则为任意匹配 北京&思拓合众 和 CmsTop 这两个中词组的一个就匹配成功。
可使用 * 来匹配任意字符,如:
keywords="思拓*" keywords="*思拓" keywords="*思拓*"
- author指定主题的发布者的用户名,可以是单个用户名,或者以英文逗号分隔的用户名字符串,如:
author="CmsTop" author="CmsTop,思拓合众"
还可以使用 * 号来匹配任意字符,与 keywords 类似。
- uid 指定主题的发布者的用户ID,可以是单个数字,也可以是以英文逗号分隔的用户ID字符串,如:
uid="1" uid="1,2,4"
- orderby 指定主题排序条件,可以为:
- lastpost ASC 最后发布时间升序
- lastpost DESC 最后发布时间降序
- dateline ASC 主题发布时间升序
- dateline DESC 主题发布时间降序
- replies ASC 回复数升序
- replies DESC 回复数降序
- views ASC 阅读次数升序
- views DESC 阅读次数降序
其他参数可参考{db}标签介绍。
可用字段:
- 非 Discuz! X:posts 表和 threads 表的所有字段
- Discuz! X:forum_post 表和 forum_thread 表的所有字段