通常使用论坛的调用贴子js即可调用论坛贴子,但今天我们要讲解的是帝国cms模板制作中如何用标签调用论坛贴子,因为标签更灵活。
备注:这里discuz支持X3.1,在站长地带首页测试无误。站长地带用的是方法二,就是灵动标签调用的
方法1:
通过ecmsinfo标签与按SQL调用相结合实现论坛数据调用。
使用要点:
1、采用ecmsinfo标签;(点击这里可以查看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 pre_forum_thread 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”.)
·举例说明:调用DISCUZ论坛贴子
调用DISCUZ论坛贴子标签语法:
[ecmsinfo]'select subject as title,tid as id from pre_forum_thread order by tid desc limit 10',0,30,0,24,7,0[/ecmsinfo]
调用贴子数为10;贴子标题截取数为30个字;使用标签模板ID=7的模板。 (说明:如果你改了数据库前缀,请做相应更改。)
制作显示样式模板:
登陆后台->"模板管理"->"增加标签模板",分别增加“显示一行一列”与“一行显示多列”两个标签模板。
增加完成后,返回“标签模板”管理,会看到我们刚增加的两个标签。(www.zzarea.com 网站建设)
现在我们修改首页模板:
登陆后台->"模板管理"->"公共模板"->"修改首页模板",将模板内容复制到dreamweaver编辑,在模板中加入调用论坛贴子的标签,如下图:
(说明:其中“where fid=版块ID”为按论坛版块调用贴子。)
修改完首页模板后,将模板代码内容复制到后台首页模板文本框,然后点击修改。
修改首页模板后,我们点击“预览”,可以查看修改后的首页效果,嘿嘿,是不是把论坛所有贴子都搬到帝国CMS了。
其它说明:上面举例的SQL语句是调用论坛及版块新贴,你还可以调用热门贴子、精华贴等等,只需改SQL语句的排序与条件即可。还有更多应用,比如在信息页面中调用相关论坛贴子、调用其它系统数据等等。
方法2:使用灵动标签【e:loop】调用论坛帖子
调用Discuz最新贴子:pre_是discuz的表前缀
<table width="100%" border="0" cellspacing="1" cellpadding="3"> [e:loop={"select tid,subject from pre_forum_thread order by tid desc limit 10",10,24,0}] <tr><td> <a href="http://bbs.zzarea.com/viewthread.php?tid=<?=$bqr[tid]?>" target="_blank"><?=$bqr[subject]?></a> </td></tr> [/e:loop] </table>登录后复制
本文地址:http://ezhuoer.com