【原创】帝国新闻模版添加下载次数统计

来源:互联网   编辑:思良  发表时间:2020-03-04  关注度:3786  

思良:在帝国论坛里看到一个功能,就是统计附件的下载次数,感觉很好,网上收索了半天,没找到怎么解决这个问题的方法,研究半天还是自己解决!

帝国有个下载模型,查看模型变量说明,有个下载次数的js代码:<script src=[!--news.url--]e/public/ViewClick/?classid=[!--classid--]&id=[!--id--]&down=1></script>,但是下载内容模版里没有这个代码,以为没有这个功能,后来我加进去,点击下载按钮就能显示点击数,相当于统计下载数,怎么移植到新闻模型去了?我没用下载模型,基本上都是在新闻模型里,并且添加一个下载地址的自定义字段,专门录入下载地址,也想要帝国论坛那种下载统计功能,于是我去找教程,没找到,只能自己解决,具体方法:

一,先在新闻模型里添加downpath字段,最好和下载模型的字段一样,因为怎么判断点击数的函数,不知道在系统文件哪里,所以不改为妙,字段类型和其他选项都默认即可,但是在输入表单替换html代码里填入和下载模型的一样,不过有些多余的选项可以删除掉,我精简了下,具体代码查看代码1:


二,接着去管理系统模型里,修改新闻系统模型,添加刚刚那个字段,这样发文时就可以这样显示了

image.png

三,去内容模版里添加相关代码:

<?php

if($navinfor[downpath]){?>[!--downpath--]下载次数:<script src=[!--news.url--]e/public/ViewClick/?classid=[!--classid--]&id=[!--id--]&down=1></script><?}else{?><?}?>


加了个判断,有下载地址就显示,最终显示效果:

image.png


代码1:
<script> 
function doadd()
 {var i;
 var str="";
 var oldi=0;
  var j=0;
 oldi=parseInt(document.add.editnum.value);
 for(i=1;i<=document.add.downnum.value;i++)
 { j=i+oldi;
 str=str+"<tr><td width=7%> <div align=center>"+j+"</div></td><td width=19%><div align=left><input name=downname[] type=text id=downname[] value=下载地址"+j+" size=17></div></td><td width=40%><input name=downpath[] type=text size=36 id=downpath"+j+" ondblclick=SpOpenChFile(0,'downpath"+j+"')><select name=thedownqz[]><option value=''>--地址前缀--</option><?=$newdownqz?></select></td><td width=21%><div align=center><select name=downuser[] id=select><option value=0>游客</option><?=$ygroup?></select></div></td><td width=13%><div align=center><input name=fen[] type=text id=fen[] value=0 size=6></div></td></tr>";
}
document.getElementById("adddown").innerHTML="<table width='100%' border=0 cellspacing=1 cellpadding=3>"+str+"</table>";
}
</script>
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr><td>
<?php
 if($ecmsfirstpost==1) {  
 ?>
<table width='100%' border=0 cellspacing=1 cellpadding=3>
<?php
$editnum=1;
//思良:editnum=1表示只要一个下载地址即可,默认是3的,去下载发文就可以看到
for($pathi=1;$pathi<=$editnum;$pathi++)
{
?> <tr><td width='19%'> <div align=left><input name=downname[] type=text value='本地下载' size=5>也可双击上传</div></td>
  <td width='40%'><input name=downpath[] type=text size=12 id='downpath<?=$pathi?>' ondblclick="SpOpenChFile(0,'downpath<?=$pathi?>');"></td> </tr>
<?php
}
?>
</table>
 <?php
 }else{
$editnum=0;
$downloadpath="";
if($r[downpath])
{
$r[downpath]=stripSlashes($r[downpath]);//下载地址
$j=0;
$d_record=explode("\r\n",$r[downpath]);
 for($i=0;$i<count($d_record);$i++)
 {
 $j=$i+1;
 $d_field=explode("::::::",$d_record[$i]); //权限 
$tgroup=str_replace(" value=".$d_field[2].">"," value=".$d_field[2]." selected>",$ygroup);//地址前缀
$tnewdownqz=str_replace(" value='".$d_field[4]."'>"," value='".$d_field[4]."' selected>",$newdownqz);
$downloadpath.="<tr><td width='7%'><div align=center>".$j."</div></td><td width='19%'><div align=left><input name=downname[] type=text id=downname[] value='".$d_field[0]."' size=17></div></td><td width='40%'><input name=downpath[] type=text id=downpath".$j." value='".$d_field[1]."' size=36 ondblclick=\"SpOpenChFile(0,'downpath".$j."');\"><select name=thedownqz[]><option value=''>--地址前缀--</option>".$tnewdownqz."</select><input type=hidden name=pathid[] value=".$j."><input type=checkbox name=delpathid[] value=".$j.">删</td><td width='21%'><div align=center><select name=downuser[] id=select><option value=0>游客</option>".$tgroup."</select></div></td><td width='13%'><div align=center><input name=fen[] type=text id=fen[] value='".$d_field[3]."' size=6></div></td></tr>";
}
$editnum=$j;
$downloadpath="<table width='100%' border=0 cellspacing=1 cellpadding=3>".$downloadpath."</table>";
}
echo $downloadpath;
    }
    ?>
 </td></tr></table>

    支付宝扫码领红包,不用多说,用过的人都知道,双赢的,你得红包,我得到同等推广红包,比如你扫到1元,我也得1元,大家得到的红包可以去实体店消费!新用户至少10元以上哦,每天都有!希望大家每天来本站扫码!感谢感谢!

    把打赏改成扫码红包了!支持本站就扫码下!


下一篇:帝国CMS后台添加关键字时自动复制到TAGS(同步更新)的方法


上一篇:【原创】帝国复制文章至不同模型的方法


小提示:按 回车[Enter]键 返回,按 ←键 返回上一页, 按 →键 进入下一页。

网友评论(0条评论)

选择头像
     

新闻评论(共有 0 条评论)

手机访问

本站APP

联系我

加我微信