LYWILL设计运营 - 网站运营与推广、开发技术、成功项目展示。

zblog不用js调用DZ论坛数据

 

关于zblog调用discuz论坛数据的方法有很多种,一般说来都是js方式,在discuz的后台可以直接生成调用代码,然后在需要调用的页面相关位置放上调用代码就可以了,这种方法没有局限性,可以在任何位置进行调用,是最方便的一种方法!

但是有人问有没有不用js的方式调用的方法,为了页面的SEO,当然直接调用内容是最好的方法,这种方法是有的,但是这种方法只局限于二级目录的情况,不能跨站调用,本站结构大家一目了然,主站程序是zblog程序,discuz论坛是在本站二级目录bbs下,实现原理即是通过discuz论坛的计划任务,定时生成更新文件,而根据zblog的程序特点,zblog的调用数据都存放在网站的INCLUDE下面,在zblog模版中可以以文件名作为调用标签,直接读取文件内容!所以,我们可以得出这样一个结论,利用discuz计划任务,在主站的include文件夹里面生成discuz论坛最新帖子的文件,然后通过zblog调用文件就可以了!下面看看这个直观的架构图:

计划任务文件sean_cron_daily.php文件的源代码如下:

 

PHP代码
  1. <?php      
  2. if(!defined('IN_DISCUZ')) {      
  3.     exit('Access Denied');      
  4. }      
  5.      
  6. $query = DB::query("SELECT tid,subject,lastpost FROM ".DB::table('forum_thread')." order by tid desc limit 0,14");      
  7. while ($value = DB::fetch($query)) {       
  8.     $txtstr.= "<li><a href='/bbs/thread-".$value['tid']."-1-1.html' title='".$value['subject']."' target='_blank'>".$value['subject']."</a></li>\n";       
  9. }        
  10.      
  11. file_put_contents('../include/sean_bbs_new.txt'$txtstr);      
  12. ?>     

将文件上传到论坛目录中的source/include/cron/ 中,然后在discuz论坛后台的工具->计划任务中新增一项“论坛最新贴调用”,然后设置它的执行周期,在运行脚本那填写文件名sean_cron_daily.php就可以了,保存后回到计划任务,点击执行,大功告成!

根据大家站点目录的情况可对源文件进行稍微的调整。

标签: zblog

作者:lywill 分类:网站运营 浏览:2732 评论:0