1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

帝国网站管理系统V4.6功能解密之论坛贴子调用

本帖由 wm_chief2007-05-17 发布。版面名称:源码讨论

  1. wm_chief

    wm_chief New Member

    注册:
    2005-09-05
    帖子:
    17,890
    赞:
    46
    解密帝国网站管理系统v4.6 共享内容管理饕餮盛宴

    EmpireCMS4.6【饕餮盛宴】系列之七:论坛贴子调用

    今天我们解密的是如何在帝国CMS中调用论坛贴子,从而实现论坛门户。

    前言:
    通常使用论坛的调用贴子JS即可调用论坛贴子,但今天我们要讲解的是如何用标签调用论坛贴子,因为标签更灵活。

    原理说明:
    通过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 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”.)

    ·举例说明:调用DISCUZ论坛贴子
    1、下图中是本地DISCUZ的版块与贴子。
    图1:(版块列表)

    [​IMG]

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

    [​IMG]

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

    [​IMG]

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

    [​IMG]

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

    [​IMG]

    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:(一行一列标签模板)

    [​IMG]

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

    [​IMG]

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

    [​IMG]

    4、现在我们修改首页模板:
    登陆后台->"模板管理"->"公共模板"->"修改首页模板",将模板内容复制到dreamweaver编辑,在模板中加入调用论坛贴子的标签,如下图:
    (说明:其中“where fid=版块ID”为按论坛版块调用贴子。)
    图1:(在dreamweaver中的首页模板)

    [​IMG]

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

    [​IMG]

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

    [​IMG]

    嘿嘿,是不是把论坛所有贴子都搬到帝国CMS了。

    注意事项:4.6版本标签支持SQL语句是默认开启的,如果从4.0升级到4.6,要检查一下e/class/config.php是否设置开启标签支持SQL语句调用。

    其它说明:上面举例的SQL语句是调用论坛及版块新贴,你还可以调用热门贴子、精华贴等等,只需改SQL语句的排序与条件即可。
    还有更多应用,比如在信息页面中调用相关论坛贴子、调用其它系统数据等等。


    更多帝国网站管理系统V4.6解密请听下回分解。


    相关链接:
    EmpireCMS4.6【饕餮盛宴】系列之一:模板组

    EmpireCMS4.6【饕餮盛宴】系列之二:自定义信息反馈

    EmpireCMS4.6【饕餮盛宴】系列之三:内容存文本

    EmpireCMS4.6【饕餮盛宴】系列之四:自定义系统模型

    EmpireCMS4.6【饕餮盛宴】系列之五:系统模型结合项

    EmpireCMS4.6【饕餮盛宴】系列之六:万能会员接口
     
  2. srsman

    srsman Active Member

    注册:
    2005-11-08
    帖子:
    1,920
    赞:
    6
    认真看了一下!很受用。!
     
  3. 禾火木风

    禾火木风 New Member

    注册:
    2006-03-15
    帖子:
    2,212
    赞:
    8
    早就应该出了。。。好东西
     
  4. winUSD

    winUSD New Member

    注册:
    2007-04-16
    帖子:
    38
    赞:
    0
    我用的CMS在2年前就可以调用DZ,PW论坛帖子了. 还能自动生成CMS的主题文章.
    可惜雅................
     
  5. 西子宜

    西子宜 Well-Known Member

    注册:
    2005-09-05
    帖子:
    15,739
    赞:
    62
    这个功能不错
     
  6. laogui

    laogui Administrator
    管理成员

    注册:
    2005-08-30
    帖子:
    15,216
    赞:
    35
    不在一个数据库中怎么调用,要数据库用户名和密码啊
     
  7. fen

    fen New Member

    注册:
    2005-12-18
    帖子:
    3,050
    赞:
    25
    把帝国JJ切了就可以调用了
     
  8. wm_chief

    wm_chief New Member

    注册:
    2005-09-05
    帖子:
    17,890
    赞:
    46
    只要有数据库权限就可以。
     
  9. paoguofu

    paoguofu New Member

    注册:
    2010-07-01
    帖子:
    37
    赞:
    0
    好东西 给你顶上去一下