本文重点是详细介绍了dedecms插件开发的方式,并通过案例详细介绍了插件开发的过程,很有现实意义,盆友们一定要参考。
本文简要介绍了dedecms插件的开发方式。分享给大家参考。实际:
下面是一个非常简单的插件案例。根据这个插件,你可以学习如何开发一个插件,如何设置它的结构,数据库查询,后台管理等。
文件结构如下:
enroll.php文件在plus文件下
enroll.htm文件在templets/plus文件夹下
adenroll.php文件在dede文件夹下
adenroll.html文件在dede/templet文件夹下。
以下sql文件:
复制代码编码如下:createtableifNOTexists`dede_enroll`(
`id`int(4)NOTNULLAUTO_INCREMENT,
`name`varchar(20)notnull,
`mail`varchar(30)NOTNULL,
`tag`tinyint(1)NOTNULLDEFAULT'0',
PRIMARYKEY(`id`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8
insertinto`dede_plus`(`aid`、`plusname`、`menustring`、`mainURL`、`writer`、`isshow`、`filelist`)值
(30,'在线注册'M:itemname=''在线注册''link=''adnoll.PHP''rank=''plus_在线注册''target=''main''/>','','g1000',1'');
这里,为了更方便,我简单地设置了两个字段名和电子邮件标签字段名。到底是不是logo?
第一个插入句添加到管理后台
第二个插入句添加到前台接待导航栏。
Enroll.php有以下文件:
复制以下代码:<?PHP
/*****应该先包含common.inc.php,再包含session_start();否则由于common.inc.php提供了session方法
include_oncedirname(__file__),所以无法得到session
/******的值。。/../include/common.Inc.PHP';//包括设置文件
session_start();
require_onceDEDEINC."/arc.partview.class.PHP";//包括partiew类
/****该类实例化的效果是获得头部顶部的导航栏和尾部的信息内容。如果没有,它可以应用dedetemplate.class.php类
$PV=newpartview();
if($_post){
if(checkemail($_post['mail'])==false){//验证邮箱格式在common.func.php是公共的
ShowMsg('邮箱格式不正确','-1');
exit();
}
if($_post['name']==""){
showmsg('登录名不能是空','-1');
exit();
}else{
$name=htmlspecialchars($_POST['name']);
}
if($_SESSION['DD_ckstr']!=strlower($_post['validation']){//认证短信验证码必须转换成小写字母
ShowMsg('验证码错误',-1);
exit();
}
$SQL="insertinto`CMS_enroll`(name,mail)values('$name','$_POST[mail]')";
//******$db可以立即应用。系统软件完全自动地实例化dedesql.class.php
$affected=$db-->;ExecuteNoneQuery2($SQL);//实现一句话返回伤害值
if($affected){
showmsg('报考成功',-1);
}
}else{
$PV->;SetTemplet(DEDETEMPLATE。/plus/enroll.htm');//设置模板
$PV->;显示();//显示信息网页
}
?>
Enroll.htm有以下文件:
复制代码编码以下:<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""<ahref="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>">
<head>
<title>{dede:global.cfg_webname/}-网上报名</title>
<linkhref="{dede:global.cfg_templeturl/}/style/dedecms.css"rel="stylesheet"media="screen"type="text/css"/>
</script>
</head>
<body>
{dede:includefilename="../default/head.htm"/}<!--包括头顶部-->
<blockquotestyle="margin:50pxauto">
<formmethod="post"action="">
姓名:<inputtype="text"size=30name="name"/>
邮箱:<inputtype="text"size=30name="mail"/>
<!--vdimgck.php是短信验证码-->
短信验证码:<inputtype="text"name="validation"/><imgsrc="../../include/vdimgck.php"/>
<inputname="encoll"type="submit"value="报考"/>
</form>
</blockquote>
{dede:includefilename="../default/footer.htm"/}<!--包括尾端-->
</body>
</html>
复制以下代码:<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""<;ahref="http://www.w3.org/TR/XHTML1/DTD/XHTML1-transitional.DTD">;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>>
<;head>
<;title>{dede:global.cfg_webname/}-在线注册<;linkhref="{dede:global.CFG_templetURL/}/style/dedecms.CSS"rel="stylesheet"media="screen"type="text/CSS"/>;
<;/script>;
<;/head>;
<;body>
{dede:includefilename="../default/head.htm"/}<;!-包括头顶-->:
<;blockquotestyle="margin:50pxauto">。
<;formmethod="post"action="">
姓氏:
邮箱:
<;!-vdimgck.php是短信验证码->;
短信验证码:
<;输入name="encall"type="submit"value="报考"/>;
<;/form>;
<;/blockquote>;
{dede:includefilename="../default/footer.htm"/}<;!-包括尾端-->:
<;/body>;
<;/html>;
Adenroll.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("updateCMS_enrollset`tag`=1,其中id='$_GET[id]'");
ShowMsg('访问成功','Adenroll.PHP');
}
if($_GET['action']='nopass'){
$dB->;ExecuteNoneQuery("updateCMS_enrollset`tag`=0,其中id='$_GET[id]'");
ShowMsg('Undoin','Adenroll.PHP');
}
if($_GET['action']='delete'){
$dB->;ExecuteNoneQuery("deletefromCMS_enrollwhereid='$_GET[id]'");
ShowMsg('删除成功','Adenroll.PHP');
}
}else{
$dl=newdatalistCP();
$dl->;pageSize=10//每张显示10条信息
$dl-->;SetTemplate('。/templets/Adenroll.htm');//Loadtemplate
$SQL="select*fromCMS_enroll";
$dl->;setsource($SQL);//实现sql不能和$dl->:SetTemplate顺序不对
$dl->;显示();//显示信息网页
}
?>
Adenroll.html有以下文件:
复制代码编码以下:<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""<ahref="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>">
<head>
<title>网上报名管理方法</title>
<linkhref='img/base.css'rel='stylesheet'type='text/css'/>
<styletype="text/css">
th,td{
text-align:center;
border:1px#D1DDAAsolid;
font-size:15px;
}
th{
background:#E6F8B7;
}
table{
margin-top:20px;
}
</style>
</head>
<body>
<tablewidth="90%"border="0"cellpadding="0"cellspacing="0"align="center">
<tr>
<th>名字</th>
<th>E-mail</th>
<th>情况</th>
<th>实际 *** 作</th>
</tr>
<!--循环系统获得結果-->
{dede:datalist}
<tr>
<td>{dede:field.name/}</td>
<td>{dede:field.mail/}</td>
<td>
{dede:iffield.tag==0}
未入取
{else}
<fontcolor="red">已入取</font>
{/dede:if}
</td>
<td><ahref="adenroll.php?action=pass&id={dede:field.id/}">[入取]</a>
|
<ahref="adenroll.php?action=nopass&id={dede:field.id/}">[不通过]</a>
|
<ahref="adenroll.php?action=delete&id={dede:field.id/}">[删掉]</a>
</td>
</tr>
{/dede:datalist}
</table>
<!--分页查询标识-->
<pstyle="text-align:center;font-size:15px;">{dede:pagelistlistitem="info,index,end,pre,next,pageno"listsize="5"/}</p>
</body>
</html>
复制以下代码:<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""<;ahref="http://www.w3.org/TR/XHTML1/DTD/XHTML1-transitional.DTD">;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>>
<;head>
<;title>网上注册管理办法
希望以上内容对dedecms的二次开发有所帮助。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)