DZ论坛有默认的js调用,可以调用到任何系统。但是js调用的文件搜索引擎抓取不到,不利于优化。
今天告诉大家一个非Js调用的方法:
(但是这种方法只局限于二级目录的情况,不能跨站调用)
对于主站是zblog系统,论坛在二级目录的情况就可以使用
实现原理即是通过discuz论坛的计划任务,定时生成更新文件,而根据zblog的程序特点,zblog的调用数据都存放在网站的INCLUDE 下面,在zblog模版中可以以文件名作为调用标签,直接读取文件内容!所以,我们可以得出这样一个结论,利用discuz计划任务,在主站的 include文件夹里面生成discuz论坛最新帖子的文件,然后通过zblog调用文件就可以了!下面看看这个直观的架构图:
计划任务文件sean_cron_daily.php文件的源代码如下:
<?php
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
$query = DB::query("SELECT tid,subject,lastpost FROM ".DB::table('forum_thread')." order by tid desc limit 0,14");
while ($value = DB::fetch($query)) {
$txtstr.= "<li><a href='/bbs/thread-".$value['tid']."-1-1.html' title='".$value['subject']."' target='_blank'>".$value['subject']."</a></li>\n";
}
file_put_contents('../include/sean_bbs_new.txt', $txtstr);
?>
将文件上传到论坛目录中的source/include/cron/ 中,然后在discuz论坛后台的工具->计划任务中新增一项“论坛最新贴调用”,然后设置它的执行周期,在运行脚本那填写文件名 sean_cron_daily.php就可以了,保存后回到计划任务,点击执行,大功告成!
这里是根据本站的情况介绍的,根据大家站点目录的情况可对源文件进行稍微的调整即可!