`
tyllxx
  • 浏览: 86560 次
  • 性别: Icon_minigender_1
  • 来自: 贵阳
社区版块
存档分类
最新评论

dedecms 5.7自定义 在线报名 插件及安装

阅读更多

转载请著名出处:http://tyllxx.iteye.com

 

首先这个报名插件的原始案例是别人的,我这里只是做了修改用在DEDE5.7SP1上,安装正确,使用正常。

从来没有自己定义过插件然后安装使用,边学边摸索的,dede第一次自己弄插件,算是二次开发。

 

首先看下效果:(可以在首页直接用,不是iframe调用哦!)


 

 

后台效果:

 

 

 

 

首先是SQL文件的代码,安装时要用到。

安装删除SQL:

/*********安装程序*********/ 这个提示不要复制

DROP TABLE IF EXISTS `#@__regs`;
CREATE TABLE `#@__regs` (
  `rsid` mediumint(8) unsigned NOT NULL auto_increment,
  `name` varchar(30) NOT NULL default '',
  `tel` varchar(15) NOT NULL default '',
  `subject` varchar(60) NOT NULL default '',
  `tag` smallint(6) NOT NULL default '0',  //下载文件的这里请改下,默认1了,这里应该是0
  PRIMARY KEY  (`rsid`), //下载文件的这里请改下,应该是rsid,原来是id,疏忽了
  KEY `tag` (`tag`)
) TYPE=MyISAM;

Delete From `#@__plus` where plusname like '在线报名';

INSERT INTO `#@__plus` (`plusname`, `menustring`, `mainurl`, `writer`, `isshow`, `filelist`) 

VALUES ('在线报名', '<m:item name=''在线报名'' link=''adregs.php'' 

rank=''plus_在线报名'' target=''main'' />', '', 'Karl', 1, '');

Delete from `#@__arctype` where typename='在线报名' and ispart='2';

Insert into `#@__arctype` (reid,topid,sortrank,typename,typedir,isdefault,defaultname,issend,channeltype,tempindex,templist,temparticle,modname,namerule,namerule2,ispart,corank,description,keywords,moresite,siteurl,sitepath,ishidden,`cross`,`crossid`,`content`)
Values('0','0','999','在线报名','_ROOTURL_/plus/regs.php','1','regs.php','0','1',
'','','','default','','','2','0','','','0','','','0','0','0','');


/*********删除程序*********/ 这个提示不要复制

DROP TABLE IF EXISTS `#@__regs`;

Delete From `#@__plus` where plusname='在线报名';

Delete from `#@__arctype` where typename='在线报名' and ispart='2';

 

安装程序中,创建regs表名,_plus表中有管理页面adregs.php路径,不要用弄错。

_arctype表中有前台页面路径,也要注意。

 

 

 

整个插件要用的总共4个文件,以下路径安装时也要用到,根据自己需求修改:

 

../plus/regs.php

../templets/plus/regs.htm

../dede/adregs.php

../dede/templets/adregs.htm

 

 

先从前台提交文件regs.php:

<?php
/**在线报名**/
require(dirname(__FILE__).'/../include/common.inc.php');
session_start();
require_once DEDEINC."/arc.partview.class.php";//包含partiew类,此类让你可以像在模板里一样提取头部和底部。
$pv = new PartView();
if($_POST){
	if($_POST['tel']==""){
		ShowMsg('电话不能为空!','-1');
		exit();
	}
	if($_POST['subject']==""){
		ShowMsg('报名项目不能!','-1');
		exit();
	}
	if($_POST['name']==""){
		ShowMsg('姓名不能为空!','-1');
		exit();
	}else{
		$name=htmlspecialchars($_POST['name']);
	}
	$svali = GetCkVdValue();
    if($_POST['validate']=='' || $_POST['validate']!=$svali)
    {
         ShowMsg('验证码不正确!',-1);
         exit();
    }
	$query = "INSERT INTO `#@__regs`(name,tel,subject,tag) VALUES ('$name','$tel','$subject','$tag'); ";
    $affected = $dsql->ExecuteNoneQuery($query);
	if($affected){
		ShowMsg('您的报名申请已提交!',-1);
 	}
}else{
	$pv->SetTemplet(DEDETEMPLATE.'/plus/regs.htm');//设置模板
	$pv->Display();//显示页面
}
?>

 

 

 

 

前台提交文件regs.htm:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>在线报名</title>
<style>
.mapspage,#cnregs{ margin:0 auto; width:218px; height:204px;}
#cnregs li{clear:both; list-style:none;}
#hottel{ width:218px;height:29px; font-size:14px; text-align:center; line-height:29px; color:#F00;}
#hottel b{ _font-size:13px;font-size:13px\9;}
#cnregs .formconn{ margin-top:5px;width:218px;height:30px; line-height:30px;}
#cnregs .formconn span{ display:block; width:70px; float:left; text-align:right; font-size:14px; color:#575757;}
#cnregs .formconn input.ipt-txt{ margin-top:5px;display:block; width:146px;_width:144px;width:144px\9; height:18px; text-indent:3px; line-height:18px; float:left; border:1px solid #dedede;}
#cnregs .formconn input.ipt-vtxt{ margin-top:5px;display:block; width:68px; height:18px;line-height:18px; text-indent:3px; float:left; border:1px solid #dedede;text-transform: uppercase;}
#cnregs .formconn img{ margin-top:3px;display:block; width:68px; height:24px; float: right;}
#cnregs .formconn input.vbtn{padding:0px;margin:0px; margin:0 auto; display:block; width:160px; height:30px;list-style:none;border: none;overflow: visible; background: none;cursor: pointer; background:url(http://localhost/cms/images/vbtn.png) 0px 0px no-repeat; }
#cnregs .formconn input.vbtn:hover{background:url(http://localhost/cms/images/vbtn.png) 0px -30px no-repeat; }
</style>
</head>
<body class="mapspage">
<div>
      <!-- 注意如果再在其他页面使用,直接复制<form>部分即可,CSS请复制到调用的CSS中 -->
      <form method="post" action="regs.php" name="form1"> <!-- 在其他页面使用注意此处路径  -->
        <input type='hidden' name='action' value='save' />
        <ul id="cnregs">
        	<li id="hottel">全国报名热线:<b>123456789</b></li>
            <li class="formconn">
            	<span>您的姓名:</span>
                <input type="text" maxlength="10" name="name" size="30" value="" class="ipt-txt"/>
            </li>
            <li class="formconn">
            	<span>联系电话:</span>
                <input maxlength="12" type="text" name="tel" size="20" class="ipt-txt" />
            </li>
            <li class="formconn">
            	<span>报名项目:</span>
                <input type="text" maxlength="16" name="subject" size="30" class="ipt-txt"/>
            </li>
            <li class="formconn">
            	<span>验证码:</span>
                <input name="validate" type="text" maxlength="4" id="vdcode2" class="ipt-vtxt" style="text-transform: uppercase;" />
                <img src='../include/vdimgck.php'/><!-- 在其他页面使用注意此处路径 -->
            </li>
            <li class="formconn"><input maxlength="1000" type="submit" name="regs" value="" class="vbtn" /></li>
        </ul>
      </form>
</div>
</body>
</html>

 

 

 

 

后台管理文件adregs.php:

<?php
require_once(dirname(__FILE__).'/config.php');//后台配置文件 检查登陆 配置信息
require_once(DEDEINC."/datalistcp.class.php");//包含分页类
if($_GET['action']&&$_GET['id']){
	if($_GET['action']=='pass'){//各种操作
		$db->ExecuteNoneQuery("update #@__regs set `tag`=1 where rsid='$_GET[id]'");
		ShowMsg('已联系学员,成功报名','adregs.php');
	}
	if($_GET['action']=='nopass'){
		$db->ExecuteNoneQuery("update #@__regs set `tag`=0 where rsid='$_GET[id]'");
		ShowMsg('取消报名','adregs.php');
	}
	if($_GET['action']=='delete'){
		$db->ExecuteNoneQuery("delete from #@__regs where rsid='$_GET[id]'");
		ShowMsg('删除成功','adregs.php');
	}
}else{
	$dl = new DataListCP();
	$dl->pageSize = 20;//每页显示20条
	$dl->SetTemplate('./templets/adregs.htm');//载入模板
	$sql="select * from  #@__regs";
	$dl->SetSource($sql);//执行sql 不能与$dl->SetTemplate 颠倒
	$dl->Display();//显示页面
}             
?>

 

PS:这里应该加强下管理,添加【删除未通过】和【清空所有】的按钮,不然垃圾数据太多,必然管理麻烦。

 

 

后台管理文件adregs.htm:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<title>在线报名管理</title>
<link href="css/base.css" rel="stylesheet" type="text/css">
</head>
<body background='images/allbg.gif' leftmargin='8' topmargin='8'>
<table width="98%" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#D6D6D6">
  <tr>
   <td height="28" background="images/tbg.gif" colspan="7" style="padding-left:10px;">
     <b>在线报名管理</b>
	</td>
</tr>
  <tr align="center" bgcolor="#FBFCE2" height="24"> 
  		<th>报名ID</th>
        <th>姓名</th>
        <th>电话</th>
        <th>科目</th>
        <th>状态</th>
        <th>操作</th>
   </tr>
        {dede:datalist}
         <tr align="center" bgcolor="#FFFFFF" height="24" onMouseMove="javascript:this.bgColor='#FCFDEE';" onMouseOut="javascript:this.bgColor='#FFFFFF';"> 
            <td>{dede:field.rsid /}</td>
            <td>{dede:field.name /}</td>
            <td>{dede:field.tel /}</td>
            <td>{dede:field.subject /}</td>
            <td>
            {dede:if field.tag==0}
            未录取
            {else}
            <font color="red">已录取</font>
            {/dede:if}
            </td>
            <td> <a href="adregs.php?action=pass&id={dede:field.rsid /}">[录取]</a>
            &nbsp;|&nbsp;
            <a href="adregs.php?action=nopass&id={dede:field.rsid /}">[不通过]</a>
            &nbsp;|&nbsp;
            <a href="adregs.php?action=delete&id={dede:field.rsid /}">[删除]</a>
            </td>
        </tr>
		{/dede:datalist}
     <tr align="center" bgcolor="#F9FCEF" height="24"> 
      <td colspan="7">{dede:pagelist listsize='6'/}</td>
     </tr>
   </table>
   </td>
</tr>
</table>
</body>
</html>

 

后台管理文件要注意表名,字段名等不要出错。

 

 

 

最后是安装,在DEDE的后台安装前,需要将4个文件,根据路径放到位置上。

 

然后,登录DEDE后台-【模块】-【模块生成向导】

 

然后提交,不要认为这就已经安装完成了,

现在到-【模块】-【模块管理】中,你应该能看到在线报名的的插件了。

像安装留言板一样安装就可以使用了。

 

 

 

以上文件打包:下载    注意这个不是用于上传安装的插件包,需要手动安装!!

 

 

 

按钮文件也给了,注意CSS的图片路径,请自行修改


 

 

转载请著名出处:http://tyllxx.iteye.com

 

  • 大小: 14.8 KB
  • 大小: 48.8 KB
  • 大小: 105.2 KB
  • 大小: 1.7 KB
2
0
分享到:
评论
2 楼 kayxuyi 2014-02-21  
首页如何调用这个模块?
1 楼 dianljl 2012-10-31  
很详细,支持一下

相关推荐

    DEDECMS5.7星星评分插件

    DEDECMS5.7星星评分插件是一款专为织梦内容管理系统(DEDECMS v5.7)设计的扩展组件,旨在为网站内容提供一种直观、用户友好的评分功能。这款插件允许访客对文章、产品或其他内容进行打分,以五角星的形式展示,从而...

    织梦V5.7SP1百度SiteMapXML插件下载140918发布

    2. **配置设置**:安装完成后,需要进入插件的配置界面,根据你的网站实际情况设置编码类型(如UTF-8或GBK),以及是否包含动态页面、自定义URL规则等。 3. **生成Sitemap**:插件会自动扫描并生成XML格式的网站...

    织梦banner轮播图插件

    3. 在DedeCMS后台找到插件管理或模块管理,安装并启用轮播图插件。 4. 使用XML文件导入数据前,需备份原有数据,以防意外情况导致数据丢失。 5. 在插件管理界面,可以进行轮播图分类的创建、图片的上传和排序、链接...

    基于PHP的东莞蒂凡品牌设计模板DEDECMS核心 v5.7.zip

    综上所述,"基于PHP的东莞蒂凡品牌设计模板DEDECMS核心 v5.7.zip" 是一个基于PHP的网站模板,利用DEDECMS系统构建,专为东莞蒂凡品牌设计,提供了一个易于管理和自定义的在线展示平台。通过理解和掌握DEDECMS的核心...

    基于PHP的东莞蒂凡品牌设计模板DEDECMS核心v5.7源码.zip

    8. 插件和模块开发:如果源码包含自定义插件或模块,需要了解其工作原理和扩展方法。 在实际应用中,开发者需要根据蒂凡品牌的特定需求,结合这个源码进行二次开发,调整模板样式,集成新的功能,确保网站既具有...

    易采站长源码DEDECMS蓝色模板 v5.7.zip

    【标题】"易采站长源码DEDECMS蓝色模板 v5.7.zip"指的是一个基于DEDECMS(织梦内容管理系统)的网站模板,版本号为5.7,设计风格为蓝色调。DEDECMS是一款广泛应用的开源PHP网站管理框架,尤其在个人站长和中小企业中...

    富贵乐园dede5.7精美棋牌游戏模版

    【标签】:“富贵乐园dede5.7精美棋牌游戏模版”的标签直接反映了模版的主题和用途,表明这是一款专为“富贵乐园”品牌定制的,适用于DEDECMS5.7版本的棋牌游戏网站模版,具有高品质的视觉效果。 【压缩包子文件的...

    织梦分页插件

    此外,插件的样式可以根据网站的总体设计进行自定义,通过修改CSS文件来调整分页按钮的外观,使其更好地融入网站风格。 总的来说,"织梦分页插件"是提高织梦CMS首页性能和用户体验的重要工具,其安装和配置涉及到对...

    织梦5.6添加自动排版插件

    在【描述】中提到"未使用过5.7,估计也能用",这可能暗示该插件不仅适用于5.6版本,开发者或分享者认为它可能兼容织梦5.7或其他后续版本。 在【标签】"织梦排版"中,我们可以推断这个插件的核心功能是专注于内容的...

    kaixin.zip_V2 _酒店官网dedecms

    综上所述,"kaixin.zip_V2 _酒店官网dedecms"是一个基于DEDECMS V5.7 SP1的酒店网站模板,内置采集侠插件,提供了丰富的功能和自定义可能性,适用于搭建专业且易于维护的酒店官网。用户可以通过提供的安装教程快速...

    dede5.7GBK 红色大气文章模板

    1. `使用说明.txt`:这是模板的使用指南,通常会包含如何安装、配置和自定义模板的步骤,对于初次接触DEDECMS或此模板的用户非常有帮助。 2. `style`目录:存放了模板的CSS样式文件,这些文件定义了网页的布局、...

    教你如何去除织梦5.7版权.txt

    在探讨如何去除织梦5.7版权之前,我们首先需要了解织梦(DedeCMS)的基本概念及其版权信息的重要性。织梦CMS是一款广泛使用的开源内容管理系统,它基于PHP语言开发,支持MySQL数据库。由于其功能强大、扩展性好以及...

    dede插件与模块整合15个

    使用这些插件和模块的步骤通常包括:下载插件或模块文件,将其上传到DedeCMS的指定目录,然后在后台管理界面进行安装和配置。需要注意的是,安装前应确保与当前使用的DedeCMS版本兼容,同时,为了网站安全,应及时...

    PHP实例开发源码—dj舞曲网源码基于dede5.7内核.zip

    这个源码是基于DedeCMS(织梦内容管理系统)的5.7版本构建的,DedeCMS是一款广泛使用的开源CMS系统,特别适合用于构建信息类、新闻类或者音乐类网站。以下是关于PHP、DedeCMS以及源码开发的相关知识点: 1. PHP:...

    織夢5.7繁體中文UTF8版.rar

    织梦内容管理系统(DEDECMS)是一款广泛使用的开源CMS(Content Management System)系统,主要针对中文网站开发,尤其适用于中小企业和个人站长。标题“織夢5.7繁體中文UTF8版.rar”表明这是一个关于织梦系统的5.7...

    对某 DedeCMS 二开系统全局变量追加漏洞利用1

    通过分析,作者确定该系统的DedeCMS版本为DEDECMS-V5.7-UTF8-SP2,这是一个较旧的版本,可能存在多个已知漏洞,但大多数需要进入后台或会员功能才能利用,而这套系统已经删除了相关文件,使得前台利用变得困难。...

    UCenter Home 2.0 繁体中文BIG5.7z

    3. **丰富的插件与模板**:UCenter Home 2.0 提供了多种可扩展的插件和模板,方便开发者进行二次开发,满足不同场景和需求。 4. **社交功能**:内置了消息、好友、群组、相册、分享等功能,构建了完善的社交网络体系...

    dede织梦5.7

    "dede织梦5.7" 是一个基于PHP和MySQL的内容管理系统(CMS)——织梦内容管理系统(DedeCMS)的一个版本。织梦CMS是一款广泛使用的开源网站管理平台,尤其在中国国内有着较高的知名度。该系统提供了强大的网站建设和...

    HTML5大气网络公司网站源码 v1.0.rar

    对于二次开发而言,DEDECMS的插件机制和API接口使得开发者可以轻松添加新的功能或集成第三方服务。例如,你可以添加在线支付、社交媒体分享、表单提交处理等模块,以满足更多业务需求。此外,源码中可能包含的文档和...

    仿百姓健康网源码

    8. **DedeCMS-V5.7-GBK-SP1** - 这表明源码使用的是织梦内容管理系统(DedeCMS)的GBK编码版本5.7 Service Pack 1,这是一个流行的内容管理系统,用于搭建和管理网站内容。 9. **Plugins** - 插件文件夹,包含了扩展...

Global site tag (gtag.js) - Google Analytics