让DedeCms分类信息模型支持Digg功能

用DedeCms做的模板需要在分类信息里支持Digg功能,但是原程序里,只能对系统模型和自由模型Digg,即使用@#__archives当作主表的模型。而DedeCms里,分类信息模型是作为独立模型设置的。 
 
这个功能的实现,只需要修改一个文件,即/plus/Digg_ajax.php: 
 
$maintable = ‘dede_archives’;原程序的这行决定了不能为独立update。 
 
可以修改为: 
$row=$dsql->GetOne(”Select id,channel from `dede_arctiny` where id=$id”); 
//改取arctiny表,取得该id的文章所属的模型 
if($row['channel']==-8) 
//为分类信息模型时,更新的表为addoninfos,其它类推 
$maintable=’dede_addoninfos’; 
$idname=’aid’; 
//由于独立模型id不同,所以需要一个变量来存id名称,该id为aid 
else 
$maintable = ‘dede_archives’; 
$idname=’id’; 
 
然后把下面用到的三条SQL语句中的id修改为$idname,即: 
$dsql->ExecuteNoneQuery(”Update `$maintable` set scores = scores + {$cfg_caicai_add},goodpost=goodpost+1,lastpost=”.time().” where $idname=$id”); 
$dsql->ExecuteNoneQuery(”Update `$maintable` set scores = scores – {$cfg_caicai_sub},badpost=badpost+1,lastpost=”.time().” where $idname=$id”); 
$row = $dsql->GetOne(”Select goodpost,badpost,scores From `$maintable` where $idname=$id “); 
 
经过上述的修改,再为article_infos.htm模板增加Digg的模板,可以从文章模板复制,就可以为分类信息等独立模型增加Digg功能了。