首页  »  站长资讯  »  网站优化

DEDECMS文章模型整合下载功能,可判断点数,会员组等下载权限

2022/11/21 09:17     创新屋收录网     已浏览327次


本教程实现DEDECMS功能:文章模型整合下载功能,可判断点数,会员组等下载权限,前台可判断是否有附件下载,有则显示,没有则不显示。适用类型:有些文章有下载地址,有些文章没有下载地址的网站。想附件收费的网站等等……具体就不啰嗦了。用得上您就拿走。



DEDECMS文章模型整合下载功能,可判断点数,会员组等下载权限



后台效果图



本教程为站长似水星辰原创,转载注明出处。



注:本教程中的金币和会员组设置只针对下载连接有效。不对文章内容生效,和文章本身的阅读权限和消费金币并不冲突,是分开设置的。文章中所有sql语句中涉及表名的,请把表前缀换成您自己的表前缀。如:js_addonarticle 换成 您的表前缀_addonarticle。



一、首先规划要加入的字段



下载链接:softlinks



消费金币:needmoney



会员组权限:daccess



这些字段要加入到文章附加表中,前缀_addonarticle,也可以根据自己情况加入需要的表中,自己修改就行了。



进入后台系统-SQL命令行工具,执行:






















  1. 1

    ALTER TABLE  `js_addonarticle` ADD  `softlinks` TEXT NOT NULL ,











    2

    ADD  `needmoney` SMALLINT( 5 ) NOT NULL ,











    3

    ADD  `daccess` SMALLINT( 5 ) NOT NULL








也可以在phpmyadmin中自行添加。



然后在后台打开核心-频道模型-内容模型管理-普通文章-修改-字段管理,在模型字段配置(文本模式) 里添加




  1.  


  2.    


  3.  



如果不添加则会出现无链接信息错误!请务必添加。



二、数据库字段添加完毕就要修改文章模型的4个文件了。分别是dede管理目录下的article_add.php,article_edit.php和管理模板article_add.htm,article_edit.htm,打开这4个文件依次修改。



1、修改article_add.htm,在头部的中加入以下,在之前加入就行






















  1. 01

    var startNum = 0;











    02

    function MakeUpload()











    03

    {











    04

        var upfield = document.getElementById("uploadfield");











    05

        var endNum =  parseInt(document.form1.picnum.value) + startNum-1;











    06

        if(endNum > 30) endNum = 30;











    07

        for(startNum; startNum<=endNum; startNum++){











    08

            upfield.innerHTML += "
    软件地址"+startNum+":  服务器名称:
    rn";











    09

        }











    10

    }











    11

    function ShowHideAddr()











    12

    {











    13

        document.getElementById('morelink').style.display = (document.getElementById('morelink').style.display=='block' ? 'none' : 'block');











    14

        document.getElementById('morelink').style.height = '100%';











    15

        document.getElementById('btsh3').value = (document.getElementById('morelink').style.display=='block' ? '隐藏地址' : '显示地址');











    16

    }








这个是可以增加下载地址个数的JS代码



2、找到




  1.  


  2.       


  3.     



再其后边加入



















  1. 001

    <tr>











    002

          
    "24" bgcolor="#F9FCEF"" class="bline2"> 下载限制:











    003

        tr>











    004

        <tr>











    005

          
    "24"  class="bline">











    006

          "800"border="0"cellpadding="0"cellspacing="0">













    007

            <tr>











    008

              
    "90" height="30"> 需会员权限:











    009

              
    "179" align="left">











    010

                  <select name="daccess" id="daccess" style="width:90px">











    011

                    











    012

                    $dsql->SetQuery("Select * from `js_arcrank` where rank>=0 ");











    013

                    $dsql->Execute();











    014

                    while($row = $dsql->GetArray())











    015

                    {











    016

                        if($row['rank']==0) $row['membername'] = "不限会员";











    017

                                        if($row['rank'] == $softconfig['dfrank']) echo "     rn";











    018

                                        else echo "     rn";











    019

                    }











    020

                 ?>











    021

                    select>         











    022

              
    "120" align="center">需消费金币:











    023

              
    "411">











    024

                "needmoney" type="text" id="needmoney" value="" size="8" />个         











    025

            tr>











    026

                <tr>











    027

                  
    "26" colspan="4" style="border-top:1px dashed #8EAF61""STYLE1">(如果设定了下载限制,["soft_config.php" target="_blank">软件频道设置]中“附件下载方式:”必须选择“链接到跳转页面”)











    028

              tr>








    029

          











    030

          











    031

        tr>











    032

        <tr>











    033

          
    "24" bgcolor="#F9FCEF" class="bline2"> 本地软件选择:











    034

        tr>











    035

        <tr>











    036

          
    "24"  class="bline">











    037

          "800"border="0"cellspacing="0"cellpadding="0">













    038

              <tr>











    039

                
    "90" height="30"> 本地地址:











    040

                











    041

                    "softurl1" type="text" id="softurl1" size="35" />











    042

                  "sel1" type="button" id="sel1" value="选取" onClick="SelectSoft('form1.softurl1')" />











    043

                  服务器名称:











    044

                  "servermsg1" type="text" id="servermsg1" value="本地下载" style="width:150px" />











    045

                











    046

              tr>








    047

            











    048

           











    049

        tr>











    050

        











    051

        if($softconfig['moresitedo'] == 0 && trim($softconfig['sites']) != '')











    052

        {











    053

        ?>











    054

        <tr>











    055

          
    "24" bgcolor="#F9FCEF" class="bline2"> 预设的镜像服务器:











    056

        tr>











    057

        <tr class="bline">











    058

        
    "padding-left:10px;">











    059

        (服务器地址 + 软件地址 = 软件真实地址 ["soft_config.php" target="_blank">软件频道设置])











    060

        











    061

            $sites = explode("n", $softconfig['sites']);











    062

            $startNum = 2;











    063

            foreach($sites as $site)











    064

            {











    065

                $site = trim($site);











    066

                if(empty($site)) continue;











    067

                list($siteurl, $sitename) = explode('|', $site);











    068

                $siteurl = trim($siteurl);











    069

                $sitename = trim($sitename);











    070

        ?>











    071

        echo $sitename; ?>:











    072

        type='hidden' name='forconfig' value='1' />











    073

        type='text' name='softurlfirst' style='width:200px' value='' /> +








    074