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