字体:  

自动生成HTML、自动更新:开卷论坛专题 v1.0.0 发布!(已更新 For DZ5.x)

KaijuanStudio 发表于: 2006-6-10 00:34 来源: SupeSite/X-Space官方站

论坛专题自动生成html,每天自动更新!(替代奇虎的论坛专题)

QUOTE:

无需安装,无需升级数据库,无需修改程序代码!开卷工作室 “论坛专题v1.0” 正式发布!
引子

  这个插件从设想到开始动手写它,经历了好几个月,但从开始写,到预告,再到发布,却只是两三天的事情。因为大家反映较强烈,都很需要这个东西。本来想继续把它完善一下,从现在单个关键字查询的 “热门搜索”,再做成 “热门搜索” 与多个关键字查询的 “论坛专题” 相结合的程序,但这里面需要对程序的架构进行调整,而且要验证程序的执行效率。这就不是一两天能完成的了,而且是否有必要这么做,我也说不好,或许大家也和我一样觉得现在的单个关键字查询已经足够了,不必更复杂的功能。所以我就尽快完成了它,并发布出来。

  最后还想向大家透露的是,开卷工作室还有一个仿制奇虎相关专题的插件的想法,我们想通过论坛程序,尽量高效而简单地去实现这个功能。这其中可能要牵涉到中文智能分词的技术问题,这个部分说复杂可以很复杂,所以一时半会儿还不好弄。如果有哪位高手愿意和我交流切磋一下,不妨加我的QQ:40112722,大家共同进步吧!^^


名称开卷工作室论坛专题 v1.0
难度:简单
作者KaijuanStudio
技术支持MadeinCHN.cn
演示地址http://MadeinCHN.cn/index.php
演示数据:专题数:9个        专题列表帖子数:50个        类型:单个关键字查询
发布站点:Discuz!
插件版本:Flaunter1.0.0 简体中文GBK版、简体中文UTF-8版、繁体中文Big5版、繁体中文UTF-8版
功能说明
  1. 自动生成 1.htm — x.htm 的静态页面,并保存于专用文件夹 flaunt 中。
  2. 每天凌晨 12 点过后,第一个访问论坛首页的人将激活更新动作,所有论坛专题结果将重新生成,并覆盖原来的 HTML 文件。实现无需人工干预的智能化管理!
  3. 可通过特定的设置文件,对论坛专题进行增减与修改。
  4. 可设定更新周期,默认为一天,可更改为任意时间长度。同时可设定自动更新的延迟时间,例如默认的设置为:24 小时更新一次,延时 3 小时,那么更新悼念工作将于次日凌晨 3 点。
  5. 可设定返回查询结果数目,默认为 50 个帖子,并且不分页,因为分页没有太大的意义,具体请见后面的 Q&A。


关于风格界面的说明
  因为程序与生成网页文件并非在论坛根目录下,所以要实现与论坛统一风格的界面有一定的困难,但我想,既然这是一个网站索引式的功能插件,那么就更应该把效率放在首位,而界面,却可以尽量简化。所以我没有对其界面作任何美化与修饰,有美化需要的朋友,可以自行修改模板。
  另外,论坛专题数量建议不要设置过多,过多的专题数可能会撑破你的首页,并且在低分辨率的显示器中会显得难看。默认模板中没有添加进搜索引擎代码,大家又需要也可自行加入,并且在加入搜索引擎后,也要适当减少论坛专题数量。具体应该设置为几个,这要看您的需要以及您所采用的单个关键字的长度而定。

QUOTE:

关于版权
  1. 为了尊重作者的劳动,以及维护网络社会良好的信息交流环境,敬请大家切勿修改插件版权信息。
  2. 开卷工作室欢迎所有有能力的朋友,对我们的作品进行修改,与再创作,并在互联网上自由传播。但必须在作品中添加自己版权声明的同时,重申作品原有的版权信息,且不能任何改良版本用以商业牟利!
  3. 如果我们发现有对我们的作品进行篡改版权信息,欺世盗名的行为,我们将在公开场合予以谴责,并且可能对于作品的后续版本不予以公开发布,同时拒绝一切对作品的技术支持。我们也将视情节轻重,保留采取法律手段维护自身权益的权利!
Q & A

QUOTE:

  • 论坛专题有什么用?
      论坛专题看似与论坛搜索没有什么区别,甚至其时效性还不如论坛搜索,那是不是说实现这一功能就多余了呢?其实不然,首先论坛搜索是要占用系统资源的,假如一万次搜索中,有几千次搜索都是类似的内容,那么我们何不把这些高频搜索的关键词挑出来,然后把搜索结果以静态页面的方式共享出来,这样几千次的数据库查询就变成了一次!而剩余的只是几个静态页面的读取。
      另外,许多论坛为了安全起见,一般是不对游客开放论坛搜索的,这无疑增加了您的论坛向大众普及的门槛,使用论坛专题功能,可以让这些没有搜索权限的游客也能享受到资料查询的便利,无疑也提高了您的论坛的亲和力。
      最后,这一功能对于提高您论坛在互联网上的曝光率也是很有助益的,因为论坛专题的帖子列表这无异于给搜索引擎蜘蛛们打开了一条进入论坛的绿色通道,为什么是绿色通道呢?因为它是纯静态的 HTML 页面,对蜘蛛的亲和度非常好,所以搜索引擎也就更容易从这里抓取到您论坛的文章。

  • 专题列表为何只有一页?
      分页意味着更多的查询结果,这必将增加页面更新时服务器的负担。同时,对于搜索引擎来说,通过首页进入第一个专题列表,然后再进入分页,已经失去了其优先截取的价值,因此专题列表就只设置为单页。

  • 该程序是否影响论坛运行效率?
      理论上当程序对专题列表进行更新时,是要占用一定的服务器资源的,并且对凌晨第一个访问论坛的访客来说,打开首页的速度也会有些微的影响。但在实际测试中我们发现,这种影响几乎可以忽略。首先,凌晨 12 点过后,论坛一般访问人数应该要比白天少许多。另外,程序运行时对数据库的查询与论坛正常运行时的负担是一样的,而且像前面说过的那样,一次的查询可以省却成百上千次甚至上万次的相同查询,这已经是极大地节省了系统资源。而在实际测试中,在首页激活了更新动作的访客与平时访问论坛时的速度,从感官上并不能觉察出有什么差异。

  • 何谓绿色版?
      即无需安装,也无需升级数据库,无需修改程序代码。仅在 header.htm 模板中加入一个插件链接,便可直接使用的插件。

  • 绿色插件有什么好处?
      免安装、免升级、免修改,可以将插件使用的风险降低到几乎为零!同时,能较好地过渡到新版本的论坛程序。


  • 安装方法
      本来想做一个钩子版的,但弄了半天,钩子不生效^^",所以还是用回土办法,毕竟是绿色插件,代码插入不多:

    1. 打开并设置好 config.php

    2. 如果您的论坛版本是:Discuz!2.5 ,那么请打开 rebirth.php ,查找:common.inc.php ,替换为:common.php

    3. 打开 index.php ,查找:

      CODE:

      $searchboxstatus = substr(sprintf('%03b', $qihoo_searchbox), -1, 1);
      $keywordlist = $qihoo_links['keywords'];
      $topiclist = $qihoo_links['topics'];

      if($qihoo_maxtopics) {
              $customtopics = '';
              foreach(explode("\t", $_DCOOKIE['customkw']) as $topic) {
                      $topic = dhtmlspecialchars(trim(stripslashes($topic)));
                      $customtopics .= '<a href="topic.php?keyword='.rawurlencode($topic).'" target="_blank">'.$topic.'</a> ';
              }
      }
        如果您打算用本程序代替奇虎论坛专题功能,那么请用下面的代码替代上面的奇虎论坛专题代码:

      CODE:

      //KaijuanStudio Flaunter1.0
      $setting = 1;
      include './flaunt/config.php';
      for($type = 1; $type <= $tnum; $type++) {
              $setting = 2;
              include './flaunt/config.php';
              $topiclist .= "<b><a href=\"./flaunt/$type.htm\" target=\"_blank\">$srchtxt</a></b>  |  ";
      }
      //Flaunter End
        而如果您不想替代这段代码,可以使用注销代码将其注销:

      CODE:

      /*
      奇虎论坛专题代码
      */
    4. 打开 templates/default/index.htm 模板,查找:

      CODE:

              <!--{if $qihoo_status && $searchboxstatus}-->
                      <tr class="altbg2"><td>
                      <table width="100%" border="0" cellpadding="1" cellspacing="0">
                      <tr><td width="50%">
                      <!--{if $qihoo_links['keywords']}-->
                              <span class="bold">{lang qihoo_hot_searches}</span> 
                              <!--{loop $qihoo_links['keywords'] $link}-->
                                      $link 
                              <!--{/loop}-->
                      <!--{/if}-->
                      </td><td align="right">
                      <img src="{IMGDIR}/search.gif" border="0" align="bottom" width="16" height="16">  <input type="text" name="searchbox" value="{lang qihoo_keyword}" size="30" class="altbg2" onmouseover="this.focus()" onfocus="this.select()">
                      <select name="stype"><option value="" selected>{lang qihoo_search_filltext}</option><option value="1">{lang qihoo_search_title}</option></select>
                      <input name="button" type="button" style="height: 1.8em" onclick="window.open('search.php?srchtype=qihoo&srchtxt='+findobj('searchbox').value+'&stype='+findobj('stype').value+'&searchsubmit=yes');" value="{lang qihoo_search}">
                      </td></tr>
                      <tr><td>
                      <!--{if $qihoo_links['topics']}-->
                              <span class="bold">{lang qihoo_topics}</span> 
                              <!--{loop $qihoo_links['topics'] $url}-->
                                      {$url}  
                              <!--{/loop}-->
                      <!--{/if}-->
                      </td><td align="right">
                      <!--{if $customtopics}-->
                              <span class="bold">{lang qihoo_custom_topics}</span>  $customtopics [<a href="###" onclick="window.open('misc.php?action=customtopics', '', 'width=320,height=450,resizable=yes,scrollbars=yes');">{lang edit}</a>]
                      <!--{/if}-->
                      </td></tr>
                      </table>
                      </td></tr>
              <!--{/if}-->
        同样,如果您打算用本程序代替奇虎论坛专题功能,那么请用下面的代码替代上面的奇虎论坛专题代码:

      CODE:

      <!--{if $topiclist}-->
              <div class="maintable">
              <table cellspacing="{INNERBORDERWIDTH}" cellpadding="{TABLESPACE}" width="{TABLEWIDTH}" align="center" class="tableborder">
              <tr class="header"><td colspan="3">{lang qihoo_topics}</td></tr>
              <tr class="altbg2" align="center">
              <td colspan="3" align="center">
              <nobr>|  $topiclist</nobr>
              </td></tr>
              </table><br></div>
      <!--{/if}-->
        而如果您不想替代这段代码,可以使用注销代码将其注销:

      CODE:

      <!--
      奇虎 HTML 代码
      -->
        继续查找:

      CODE:

      {template footer}  在其上面一行添加:

      CODE:

      <script src='./flaunt/rebirth.php'></script>
    5. 将 Upload 目录下的所有文件上传于服务器上,并将 flaunt 目录的属性设置为可写(更改属性为:777)。


    相关主题
    开卷论坛专题 v1.0.0 For DZ5.x
    开卷论坛专题v1.0安装使用指南


    更新
    2006-06-11 修正原来修改 index.htm 模板时因为多删除一个<!--{/if}-->而出现模板错误的问题。请按照本文提供的方法进行安装,或下载更新过的 Readme.txt
    2007-04-29 发布“开卷论坛专题v1.0 For DZ5.x”


    [ 本帖最后由 KaijuanStudio 于 2007-4-30 19:29 编辑 ]

    Flaunter1.0.0_GBK.rar
    (2006-06-10 00:34:46, Size: 6.12 KB, Downloads: 705)

    Flaunter1.0.0_UTF-8_SC.rar
    (2006-06-10 00:34:46, Size: 6.29 KB, Downloads: 487)

    Flaunter1.0.0_Big5.rar
    (2006-06-10 00:34:46, Size: 6.1 KB, Downloads: 492)

    Flaunter1.0.0_UTF-8_TC.rar
    (2006-06-10 00:34:46, Size: 6.3 KB, Downloads: 483)

    Readme.txt
    (2006-06-11 13:01:16, Size: 4 KB, Downloads: 485)

    最新回复

    KaijuanStudio at 2006-6-10 00:35:58
    沙发自己坐^^
    sakul at 2006-6-10 00:38:18
    板凳帮您顶上去。。
    嘿嘿
    M55 at 2006-6-10 00:44:45
    楼主:

    是否使用这个以后就可以在一定程度上替代“奇虎”在论坛的功能???
    KaijuanStudio at 2006-6-10 00:48:16
    嗯,可以这么说,就这个插件替代的还只是首页的:“论坛主题” 功能。
    Seika at 2006-6-10 00:52:07
    标签收藏~~
    amoshuang at 2006-6-10 00:56:21
    占位
    终结者4 at 2006-6-10 02:31:23
    好啊!!不错的插件!!支持!!
    慢慢解下奶罩 at 2006-6-10 03:11:38
    好东西,占位~~先试试再说
    5801805 at 2006-6-10 05:38:47
    占位
    HY清风 at 2006-6-10 06:14:30
    没那么大的空间!
    5801805 at 2006-6-10 06:18:45
    我都改好了  为什么还是PHP的啊?
    5801805 at 2006-6-10 06:27:05
    怎么样才能生成HTML页面啊?  我的好象没生成啊?
    5801805 at 2006-6-10 06:30:01
    Parse error: parse error in e:\wwwroot\phbbs\web\bbs\forumdata\templates\1_index.tpl.php on line 186
    PHP Parse error: parse error in e:\wwwroot\phbbs\web\bbs\forumdata\templates\1_index.tpl.php on line 186
    ALXE at 2006-6-10 07:13:26
    这个要顶的...
    KaijuanStudio at 2006-6-10 08:12:10

    QUOTE:

    原帖由 HY清风 于 2006-6-10 06:14 发表
    没那么大的空间!
    只是生成几个主题列表的静态文件,顶多也就占用几百Kb!~

    QUOTE:

    原帖由 5801805 于 2006-6-10 06:18 发表
    我都改好了  为什么还是PHP的啊?
    不要搞错了,请先浏览演示,并搞清楚插件的效果。

    QUOTE:

    原帖由 5801805 于 2006-6-10 06:30 发表
    Parse error: parse error in e:\wwwroot\phbbs\web\bbs\forumdata\templates\1_index.tpl.php on line 186
    PHP Parse error: parse error in e:\wwwroot\phbbs\web\bbs\forumdata\templates\1_index.tpl.php on ...
    您肯定改错首页了!请仔细核对,如果您是删除了qihoo代码,请尝试用代码注销的方式。
    5801805 at 2006-6-10 08:23:28
    2种方式都一样   郁闷了用不了
    KaijuanStudio at 2006-6-10 09:24:09
      告诉你一个测试的方法,其实你不必修改任何程序都可以直接使用,这就是为什么叫绿色插件的道理所在。测试方法如下:

    QUOTE:

    1. 确认你所有文件均按照说明设置妥当,并上传于服务器上。同时设置好了 flaunt 目录的可写属性。

    2. 直接在浏览器中输入:http://您的论坛网址/flaunt/rebirth.php

    3. 运行结果将会一片空白,但请用 FTP 检查您服务器上的 flaunt 目录。

    4. 如果目录中已包含生成的 HTML 文件,这说明程序运作正常!

    5. 如果运行 rebirth.php 有报错,请跟帖告知错误信息。

    6. 如果 flaunt 目录中并未生成任何 HTML 文件,请检查 flaunt 目录是否为可写属性。

    7. 目录为可写,依然不见 HTML 文件,请检查您的 config.php 设置是否正确。

    8. 若以上测试均通过,flaunt 目录中有 HTML 文件,并且能通过类似的地址访问:
      http://您的论坛网址/flaunt/1.htm
      那么,证明程序没有问题。请仔细在 index.php 与 index.htm 中添加代码。


    [ 本帖最后由 KaijuanStudio 于 2006-6-10 09:27 编辑 ]
    0315 at 2006-6-10 10:06:09
    这个要支持一下
    KaijuanStudio at 2006-6-10 10:11:44
    老兄,你灌的也太厉害了吧?

    好歹也搞点创新,不要每次都用这句话~_~"
    bhqtcn at 2006-6-10 11:26:14
    没看懂
    at