声明:这一个是适合EIMS的,不适合CMS的用过DedeEIMS建站都知道,如果安装时选择"生成静态HTML"就会明白,每一次发布新的文章及产品时都要在"HTML更新"里面更新才可以在栏目里面看到!!
那有没有办法发布新文章或是产品时自动更新栏目呢?
答案当然有了!
请看我解决的办法!
我在archives_add.php(发布产品)、article_add.php(发布文章)里面都看到
- //生成HTML
- $artUrl = MakeArt($arcID,true,true);
- if($artUrl=='')
- {
- $artUrl = $cfg_phpurl."/view.php?aid=$arcID";
- }
很清楚,$artUrl = MakeArt($arcID,true,true)是生成生成HTML的地方,那么我就在MakeArt地方改,记他生成HTML的时候也自动重新生成栏目!
经过分析发现 inc/inc_archives_functions.php 下面有 function MakeArt($aid,$typeid,$mkindex=false,$ismakesign=false) 这一个函数;那么我就改了一下function MakeArt($aid,$typeid,$mkindex=false,$ismakesign=false) 函数就可以发布文章及产品自动更新栏目了!
更改如下:[????post]
在 require_once(DEDEINC.'/arc.archives.class.php'); 下在增加 require_once(DEDEINC.'/arc.listview.class.php');
如:
- global $cfg_makeindex,$cfg_basedir,$cfg_templets_dir,$cfg_df_style, $typeid;
- require_once(DEDEINC.'/arc.archives.class.php');
- require_once(DEDEINC.'/arc.listview.class.php');
- if($ismakesign)
然后再
- if(is_array($preRow))
- {
- $arc = new Archives($preRow['id']);
- $arc->MakeHtml();
- }
- if(is_array($nextRow))
- {
- $arc = new Archives($nextRow['id']);
- $arc->MakeHtml();
- }
增加 $lv->MakeHtml();
如
- if(is_array($preRow)) //文章更新
- {
- $arc = new Archives($preRow['id']);
- $arc->MakeHtml();
- $lv->MakeHtml();
- }
- if(is_array($nextRow)) //产品更新
- {
- $arc = new Archives($nextRow['id']);
- $arc->MakeHtml();
- $lv->MakeHtml();
- }
[/post]
[ 此帖被liuyan814在2010-10-28 13:51重新编辑 ]