dede添加文章时同时更新所有单页面的方法

 

      这个方式是以前做sitemap.html单页的时候需要发布文章的同时更新地图单页,织梦自身是没有这个功能的,所以找强哥帮忙写段代码实现这个功能。建议单页有调用系统最新文章的同学使用上,我自己也在5.7下测试了一下,可用。

      1)需求简要
      这种功能可以实现的是比如:你建立一个新的单页面,用编译器进行编译织梦自带的标签,例如arclist(这样做可以做一个全站最新更新的总索引列表),那么就可以利用这种方法来实现,当我们新增加了一篇文章,就会自动更新那篇总索引,达到真正意义上的最近更新列表,让访客一目了然,提高网站的用户粘度;

      当然,这种方式还可以实现很多功能,这需要大家去挖掘了。

      2)实现方法
      在后台目录的task_do.php中,找到如下代码:

    $GLOBALS['_arclistEnv'] = ‘index’; 
    $pv->SetTemplet($tpl); 
    $pv->SaveToHtml($homeFile); 
    $pv->Close();

      在下面一行增加如下代码:

    //更新所有的单文档 
    include_once(DEDEINC."/arc.sgpage.class.php"); 
    $dsql->Execute("ex","Select aid From `dede_sgpage` "); 
    $i = 0; 
    while($row = $dsql->GetArray("ex")) 
    { 
        $sg = new sgpage($row['aid']); 
        $sg->SaveToHtml(); 
        $i++; 
    }    
    //更新所有的单文档

      保存关闭后即可。

      3)使用方法
      要正常使用这个功能,您还必须:

      在后台的[系统基本参数]——性能选项中,将“发布文章后马上更新网站主页:”设置为“是”,这样才能保证代码的顺利执行[必须];
      在后台的[系统基本参数]——性能选项中,将“arclist标签调用缓存”尽量调小一点[非必须,更新自己的功能选择];

 转自:http://www.zuola.net/skill/201011/1290094268.html