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> ------------*/ ?>