织梦留言板免插件模块开发教学【独立用户组审核,一键导出,验证码功能】

这几次处理的案子里都有织梦留言板二次开发的需求,每次做二次开发都要针对每个问题找答案,索性在博客里开个帖子,将关于织梦留言板的所有问题都放在这个帖子里。

织梦留言板添加

1、登录dede后台,在【核心】—【频道维护】—【自定义表单】中根据需要创建需要的表单。

2、点击【增加新的自定义表单】,添加在线留言表单。确定即可。注意:

①在这里只需要修改【自定义表单名称:】即可,其他的不需要修改。

②【前台列表和内容页公开?:】选择完全公开(这是暂时的,后面还要更改为不公开,因为这涉及到客户的信息,所以需要保密。

3、上一步操作完之后,会返回自定义表单中,点击下面的修改按钮进行添加新字段。

4、【填加新字段】就是添加所需要的:公司名称、姓名、性别、电话、邮件、留言内容等方面的。需要添加的选项可以根据自己需要来添加。

添加新字段中,只需要填写带*的就可以了。其他的默认即可,如果能看懂其他的选项,根据自己的需要做选择也可以。

5、确定之后,在【修改自定义表单】中就出现了刚添加的字段。添加更多的字段,重复第4步即可。

注意:添加新字段留言内容的时候,因为内容可能比较多,所以最好选择【数据类型:】为【多行文本】

6、字段完全添加好之后。

dedecms织梦实现网页版在线留言功能

7、在【自定义表单管理】中先进行【前台预览】。

8、点击【发布信息】之后就能看到留言界面了。

这一部分都是dede自带的默认模版,我们为了实现在线留言,可以把需要的部分摘出来,在相应的位置加入代码即可。

代码摘取技巧:鼠标右键-查看源代码,找到相对于的代码即可。

9、留言部分完整代码如下图。代码很简单,可以根据自己的需要进行修改,也可以直接复制使用。

特别小技巧:对于用dede制作企业网站的朋友来说,下面的代码只需要在 联系我们 栏目内容中的源码中粘贴即可。不用修改任何代码。

10、把相应的代码放到需要放置的位置。之后在【自定义表单管理】的【前台列表和内容页公开?:】选择【不公开】。(在上面第2步中有提醒)

这样就只有管理员能看到留言内容。

11、在相应栏目发布留言测试,之后,我们就可以在【自定义表单】的【在线留言】中看到相应的留言内容。删除测试留言就打工完成了。

提示信息更改

留言成功后会跳出Dedecms提示信息的页面,并停留在此页面一段时间。接下来我们来修改这个提示文字,并把留言成功后自动跳转到首页的设置方法:

1,修改提示文字

打开文件 include/common.func.php 在第215行左右有一个DedeCMS提示信息,直接修改为你想要的文字。

2,跳转设置

打开文件plus/diy.php 在第117行我们能看到 $goto = !empty($cfg_cmspath) ? $cfg_cmspath : ‘/’;

将/修改为你想要的页面,如修改为首页 $goto = !empty($cfg_cmspath) ? $cfg_cmspath : ‘/index.html’;

留言信息一键导出

1、首先在后台修改/dede/templets/diy_main.htm

<a href=”../plus/diy.php?action=daochu&diyid={dede:field.diyid/}” target=”_blank”>导出为EXCEL</a>

修改,后台效果如下图:

2、核心内容修改 plus/diy.php

$action = isset($action) && in_array($action, array(‘post’, ‘list’, ‘view’)) ? $action : ‘post’;
替换成:
$action = isset($action) && in_array($action, array(‘post’, ‘list’, ‘view’, ‘daochu’)) ? $action : ‘post’;

再在最后一行下面新加代码:
当然,下面输出表头的判断语句你可以自己改!

复制代码
else if($action == ‘daochu’)
{
header(“Content-type:application/vnd.ms-excel”);
Header(“Content-Disposition:attachment;filename={$diy->table}_”.date(“Y-m-d”).”.xls”);
$query = “desc `{$diy->table}`”;
$res = mysql_query($query);
echo “<table><tr>”;
//导出表头(也就是表中拥有的字段)
while($row = mysql_fetch_array($res)){
$t_field[] = $row[‘Field’]; //Field中的F要大写,否则没有结果
/* echo “<th>”.$row[‘Field’].”</th>”; */
if($row[‘Field’]==’id’){
echo “<th>ID</th>”;
}elseif($row[‘Field’]==’zhaiwutype’){
echo “<th>债务类型</th>”;
}elseif($row[‘Field’]==’zhaiquanfang’){
echo “<th>债权方</th>”;
}elseif($row[‘Field’]==’name’){
echo “<th>名称</th>”;
}elseif($row[‘Field’]==’jigouhaoma’){
echo “<th>身份证号/机构代码</th>”;
}elseif($row[‘Field’]==’path’){
echo “<th>住址/地址</th>”;
}elseif($row[‘Field’]==’tel’){
echo “<th>联系电话</th>”;
}elseif($row[‘Field’]==’zhaiwufang’){
echo “<th>债务方</th>”;
}elseif($row[‘Field’]==’zhaiwufangname’){
echo “<th>债务方名称</th>”;
}elseif($row[‘Field’]==’zhaiwufanghaoma’){
echo “<th>债务方身份证号/机构代码</th>”;
}elseif($row[‘Field’]==’zhaiwufangpath’){
echo “<th>债务方地址</th>”;
}elseif($row[‘Field’]==’zhaiwufangtel’){
echo “<th>债务方电话</th>”;
}elseif($row[‘Field’]==’danbaofang1′){
echo “<th>担保方</th>”;
}elseif($row[‘Field’]==’danbao1name’){
echo “<th>担保方名称</th>”;
}elseif($row[‘Field’]==’danbao1haoma’){
echo “<th>身份证号/机构代码</th>”;
}elseif($row[‘Field’]==’danbao1tel’){
echo “<th>联系电话</th>”;
}elseif($row[‘Field’]==’zhaiwushuoming’){
echo “<th>债务说明</th>”;
}elseif($row[‘Field’]==’fayuanzhixing’){
echo “<th>法院是否强制执行</th>”;
}elseif($row[‘Field’]==’zhixingfayuan’){
echo “<th>执行法院</th>”;
}elseif($row[‘Field’]==’lianxiren’){
echo “<th>联系人</th>”;
}elseif($row[‘Field’]==’lianxidianhua’){
echo “<th>电话</th>”;
}elseif($row[‘Field’]==’zhaiwujine’){
echo “<th>债务金额</th>”;
}elseif($row[‘Field’]==’nativeplace1′){
echo “<th>住址/地址</th>”;
}elseif($row[‘Field’]==’jiamengtype’){
echo “<th>加入类型</th>”;
}elseif($row[‘Field’]==’groupname’){
echo “<th>公司(机构)名称</th>”;
}elseif($row[‘Field’]==’grouppath’){
echo “<th>公司地址</th>”;
}elseif($row[‘Field’]==’groupjianjie’){
echo “<th>公司简介</th>”;
}elseif($row[‘Field’]==’lianxiren’){
echo “<th>联系人</th>”;
}elseif($row[‘Field’]==’lianxitel’){
echo “<th>联系电话</th>”;
}elseif($row[‘Field’]==’lianximobile’){
echo “<th>手机</th>”;
}elseif($row[‘Field’]==’qq’){
echo “<th>QQ</th>”;
}elseif($row[‘Field’]==’name’){
echo “<th>姓名</th>”;
}elseif($row[‘Field’]==’xingbie’){
echo “<th>性别</th>”;
}elseif($row[‘Field’]==’nianling’){
echo “<th>年龄</th>”;
}elseif($row[‘Field’]==’danwei’){
echo “<th>工作单位</th>”;
}elseif($row[‘Field’]==’zhiwu’){
echo “<th>职务</th>”;
}elseif($row[‘Field’]==’dianhua’){
echo “<th>联系电话</th>”;
}elseif($row[‘Field’]==’mobile’){
echo “<th>手机</th>”;
}elseif($row[‘Field’]==’mail’){
echo “<th>E-mail</th>”;
}elseif($row[‘Field’]==’ifcheck’){
echo “<th> </th>”;
}else{
echo “<th> </th>”;
}
}
echo “</tr>”;
//导出数据
$sql = “select * from `{$diy->table}`”;
$res = mysql_query($sql);
while($row = mysql_fetch_array($res)){
echo “<tr>”;
foreach($t_field as $f_key){
echo “<td>”.$row[$f_key].”</td>”;
}
echo “</tr>”;
}
echo “</table>”;
}

单独建立查看留言的用户组

1、打开\dede\inc\grouplist.txt

添加
>>自定义表单
>f_List>列出表单
>f_New>新建表单
>f_Edit>编辑表单
>f_MyList>表单内容
这段代码

2、进入DEDE cms后台,打开,系统>用户组设定>增加一个用户组

这里我增加了一个“表单管理员”

3、你可以看到有了表单管理项了,选择好管理项。建一个新的用户组

4、在频道管理员的后台菜单那里,把自定义表单的入口列出来

打开 dede/inc/inc_menu.php

在常用操作栏(102行),

<m:top item=’1_’ name=’常用操作’ display=’block’>下面

添加如下代码:

<m:item name=’自定义表单’ link=’diy_main.php’ rank=’f_List,f_New,f_Edit,f_MyList’ target=’main’ />

5、打开dede/diy_add.php(新增表单)

找到代码:CheckPurview(‘c_New’);
改为:CheckPurview(‘f_List,f_New,f_Edit,f_MyList’);

6、打开dede/diy_main.php(列出表单)

找到代码:CheckPurview(‘c_List’);
改为:CheckPurview(‘f_List,f_New,f_Edit,f_MyList’);

7、打开dede/diy_list.php(表单内容)

找到代码:CheckPurview(‘c_New’);
改为:CheckPurview(‘f_MyList’);

8、打开dede/diy_edit.php(编辑表单)

找到代码:CheckPurview(‘c_Edit’);
改为:CheckPurview(‘f_Edit’);

9、新建一个只能管理表单的用户,【用户组设定】选择:表单管理员

 

10、然后注销,重新登录新用户,你就会发现只能看自定义表单的内容,其它功能用不了。

可以跟剧需要开放自定义表单的以下权限。
列出表单
新建表单
编辑表单
表单内容

为留言板添加验证码功能

验证码是必须得添加的,不然网站会有很多灌水出现

1、打开根目录下 /plus/diy.php 文件

查找$fieldarr = explode(‘;’, $dede_fields);
在这一句的前面添加下面的代码
if(!emptyempty($dede_fields))

{

$validate = emptyempty($validate) ? ” : strtolower(trim($validate)); $svali = strtolower(GetCkVdValue());

if(($validate==” || $validate != $svali) && preg_match(“/6/”,$safe_gdopen)){ ResetVdValue();

ShowMsg(‘验证码不正确!’,$dede_add,0,1000);

exit;

}

}

2、保存之后,还要在模板你添加表单的页面添加下面的代码,这个代码是显示验证码跟输入验证码的,放在表单里面

<input name=”validate” type=”text” id=”vdcode” style=”text-transform:uppercase;” size=”8″/>

<img id=”vdimgck” align=”absmiddle” onClick=”this.src=this.src+’?'” style=”cursor: pointer;” alt=”看不清?点击更换” src=”../include/vdimgck.php”/>

<a href=”javascript:vide(-1);” onClick=”changeAuthCode();”>看不清? </a>

3、添加完之后,还要在本页面添加JS代码,以下代码可以放在网页底部

<script type=”text/javascript” language=”javascript”>

//验证码

function changeAuthCode() {

var num = new Date().getTime();

var rand = Math.round(Math.random() * 10000);

num = num + rand;

$(‘#ver_code’).css(‘visibility’,’visible’);

if ($(“#vdimgck”)[0]) {

$(“#vdimgck”)[0].src = “../include/vdimgck.php?tag=” + num;

}

return false;

}

</script>

未完待续,持续补充…..

本文欢迎转载:北京SEO » 织梦留言板免插件模块开发教学【独立用户组审核,一键导出,验证码功能】

赞 (0)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
<友情连结> 探索者SEO顾问团队/ 上海翼好SEOdafa8888公司/ 雨中漫步网络/ Zhejiang GBF Basalt Fiber Co., LTD./ Ekoloski pokret/