在DEDECMS中整合文章模型下载功能,可以判断点数、会员组等下载权限,以下是具体操作步骤:
规划要加入的字段
这些字段需要加入到文章附加表中,前缀为_addonarticle
,也可以根据个人需求将它们加入到其他表中,进入后台系统SQL命令行工具,执行以下SQL语句:
ALTER TABLEjs_addonarticle
ADDsoftlinks
TEXT NOT NULL, ADDneedmoney
SMALLINT(5) NOT NULL, ADDdaccess
SMALLINT(5) NOT NULL;
或者在phpMyAdmin中自行添加,然后在后台打开核心频道模型内容模型管理普通文章修改字段管理,在模型字段配置(文本模式)里添加:
<field:softlinks itemname="软件地址" type="softlinks" isnull="true" default="" rename="" /> <field:daccess islist="1" itemname="下载级别" type="int" isnull="true" default="0" rename="" function="" notsend="1"/> <field:needmoney islist="1" itemname="需要金币" type="int" isnull="true" default="0" rename="" function="" notsend="1"/>
如果不添加则会出现无链接信息错误,请务必添加。
修改文章模型文件
数据库字段添加完毕后,需要修改文章模型的四个文件,分别是dede
管理目录下的article_add.php
、article_edit.php
和管理模板article_add.htm
、article_edit.htm
,打开这四个文件依次进行修改。
1、修改article_add.htm
:
在头部的<script></script>
中加入以下代码,在</script>
之前加入即可:
“`javascript
var startNum = 0;
function MakeUpload() {
var upfield = document.getElementById("uploadfield");
var endNum = parseInt(document.form1.picnum.value) + startNum 1;
if (endNum > 30) endNum = 30;
for (startNum; startNum <= endNum; startNum++) {
upfield.innerHTML += "<div style=’lineheight:36px’>软件地址" + startNum + ":<input type=’text’ name=’softurl" + startNum + "’ style=’width:280px’ value=’http://’ /> 服务器名称:<input type=’text’ name=’servermsg" + startNum + "’ style=’width:150px’ /></div>r
";
}
}
function ShowHideAddr() {
document.getElementById(‘morelink’).style.display = (document.getElementById(‘morelink’).style.display == ‘block’ ? ‘none’ : ‘block’);
document.getElementById(‘morelink’).style.height = ‘100%’;
document.getElementById(‘btsh3’).value = (document.getElementById(‘morelink’).style.display == ‘block’ ? ‘隐藏地址’ : ‘显示地址’);
}
“`
这个代码用于增加下载地址个数。
2、修改article_add.php
和article_edit.php
:
找到<tr><td colspan="2"><?php PrintAutoFieldsAdd($cInfos['fieldset'],'autofield'); ?></td></tr>
再其后边加入以下代码:
“`html
<tr><td height="24" bgcolor="#F9FCEF" class="bline2"><strong> 下载限制:</strong></td> </tr>
<tr><td height="24" class="bline"> <table width="800" border="0" cellpadding="0" cellspacing="0">
<tr><td width="90" height="30"> 需会员权限:</td> <td width="179" align="left"> <select name="daccess" id="daccess" style="width:90px"> <?php $dsql>SetQuery("Select * fromjs_arcrank
where rank>=0 "); $dsql>Execute(); while($row = $dsql>GetArray()) { if($row[‘rank’]==0) $row[‘membername’] = "不限会员"; if($row[‘rank’] == $softconfig[‘dfrank’]) echo " <option value='{$row[‘rank’]}’ selected>{$row[‘membername’]}</option>r
"; else echo " <option value='{$row[‘rank’]}’>{$row[‘membername’]}</option>r
"; } ?> </select> </td> <td width="120" align="center">需消费金币:</td> <td width="4" align="left"> <input type="text" name="needmoney" size="4" value="0" /> </td> </tr> </table> </td> </tr>
“`
表格归纳
步骤 | 文件 | 代码或操作 |
规划字段 | SQL命令行工具或phpMyAdmin | ALTER TABLEjs_addonarticle ADDsoftlinks TEXT NOT NULL, ADDneedmoney SMALLINT(5) NOT NULL, ADDdaccess SMALLINT(5) NOT NULL |
添加字段 | 后台核心频道模型 | 添加 , , 字段到普通文章模型字段配置 |
修改文件 | article_add.htm | 增加下载地址个数的JS代码 |
article_add.php, article_edit.php | 在字段集后添加下载限制相关代码 |
FAQs
1、Q: 如何在DEDECMS后台删除自定义字段?
A: 由于DEDECMS后台没有提供删除自定义字段的方法,您只能手动操作删除,进入“核心频道模型内容模型管理”,选择“普通文章字段管理”,然后删除不需要的字段。
2、Q: 如何确保下载链接在前台中正确显示?
A: 确保在添加字段时使用了正确的表前缀,并在模板文件中正确调用了这些字段,在列表页中使用{dede:field.附加字段名/}
标签来显示附加字段。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1107495.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复