如何在帝国CMS中调用论坛贴子,从而实现论坛门户?

其实使用论坛的调用贴子JS即可调用论坛贴子,但今天我们要讲解的是如何用标签调用论坛贴子。

原理说明:

通过ecmsinfo标签与按SQL调用相结合实现论坛数据调用。

使用要点:

1)采用ecmsinfo标签;

标签语法:

[ecmsinfo]栏目ID,显示条数,标题截取数,是否显示栏目名,操作类型,模板ID,只显示有标题图片[/ecmsinfo] 

2)标签中使用“按sql查询”操作类型; 

标签参数中的“栏目ID”为SQL语句;“操作类型”为“24”。

3)制作显示样式模板

在标签模板中用“[!--title--]”贴子标题;“[!--id--]”表示贴子ID。

标签语法例子:(仅需设置红色部分)

[ecmsinfo]'select 贴子标题字段 as title,贴子ID字段 as id from 贴子数据表 order by 排序字段 desc limit 调用条数',0,标题截取字数,0,24,模板ID,0[/ecmsinfo] 

例如:(调用论坛最新10个贴子) 

DISCUZ论坛:

[ecmsinfo]'select subject as title,tid as id from cdb_threads order by tid desc limit 10',0,30,0,24,1,0[/ecmsinfo] 

PHPWIND论坛:

[ecmsinfo]'select subject as title,tid as id from pw_threads order by tid desc limit 10',0,30,0,24,1,0[/ecmsinfo] 

注意:如果论坛跟帝国CMS安装在不同的数据库,“贴子数据表”用“数据库.数据表”表示,如“discuzdb.cdb_threads”.


举例

1)下图中是本地DISCUZ的版块与贴子。

图1:(版块列表)

帝国CMS调用discuz论坛帖子 第1张

图2:(“默认论坛”版块贴子列表)

帝国CMS调用discuz论坛帖子 第2张

图3:(“论坛分类2”版块贴子列表)

帝国CMS调用discuz论坛帖子 第3张

图4:(“论坛分类1”版块贴子列表) 

帝国CMS调用discuz论坛帖子 第4张

图5:(“论坛分类3”版块贴子列表)

帝国CMS调用discuz论坛帖子 第5张

2)调用DISCUZ论坛贴子标签语法: 

[ecmsinfo]'select subject as title,tid as id from discuz5.cdb_threads order by tid desc limit 10',0,30,0,24,7,0[/ecmsinfo] 

调用贴子数为10;贴子标题截取数为30个字;使用标签模板ID=7的模板。 

(说明:其中“discuz5”为装discuz的数据库;“cdb5_”为数据表前缀。) 

3)制作显示样式模板: 

位置:后台>模板->标签模板>增加标签模板,分别增加“显示一行一列”与“一行显示多列”两个标签模板。 

图1:(一行一列标签模板)

帝国CMS调用discuz论坛帖子 第6张

图2:(一行两列标签模板)

帝国CMS调用discuz论坛帖子 第7张

增加完成后,返回“标签模板”管理,会看到我们刚增加的两个标签,如下图:

帝国CMS调用discuz论坛帖子 第8张

4)修改首页模板为例:

位置:后台>模板>首页模板>修改首页模板,将模板内容复制到dreamweaver编辑,在模板中加入调用论坛贴子的标签,如下图: 

(说明:其中“where fid=版块ID”为按论坛版块调用贴子。)

图1:(在dreamweaver中的首页模板)

帝国CMS调用discuz论坛帖子 第9张

修改完首页模板后,将模板代码内容复制到后台首页模板文本框,然后点击修改,如下图:

帝国CMS调用discuz论坛帖子 第10张

修改首页模板后,我们点击“预览”,可以查看修改后的首页效果,如下图:

帝国CMS调用discuz论坛帖子 第11张

论坛所有贴子都搬到帝国CMS了。