Dedecms软件频道下载次数真实显示修改方法

  DEDECMS的下载次数显示始终为0,官方免费版本历次升级,也没有解决下载频道下载次数真实显示的问题,按照本文方法修改后,并不是真正的下载次数显示,只是打开这个下载页面的点击次数!

  1.找到plus\download.php,查找:

$vname = ''; 
foreach($cu->ChannelFields as $k=>$v){ 
if($v['type']=='softlinks'){ $vname=$k; break; } 
}

  在上面这个代码前面添加如下代码:

$id = isset($id) && is_numeric($id) ? $id : 0; 
$hash = md5($link); 
$query = "select click from dede_archives where id='$aid'"; 
$row = $dsql->GetOne($query); 
$query = "update dede_archives set click=click+1 where id='$aid'"; 
$dsql->ExecNoneQuery($query); 

  2.找到plus\disdls.php,用以下代码全部替换

<?php 
require_once(dirname(__FILE__)."/../include/common.inc.php"); 
$aid = (isset($aid) && is_numeric($aid)) ? $aid : 0; 
$row = $dsql->GetOne("Select click From `dede_archives` where id='$aid' "); 
if(is_array($row)) 
{ 
echo "document.write('".$row['click']."');\r\n"; 
} 
exit(); 
/*----------- 
如果想显示下载次数,即把下面JS调用放到文档模板适当位置 
<script src="{dede:field name='phpurl'/}/disdls.php?aid={dede:field name='id'/}" language="javascript"></script> 
------------*/ 
?>

 

posted @ 2013-04-21 00:45  Anson's  阅读(750)  评论(0编辑  收藏  举报