简述:帝国CMS封装了一个SQL,文件位置是e/class/db_sql.php;使用程序本身的类库可以给我们的开发带来便利和效率;同时可以减少增设文件数量等;今天就和trylife一起了解下帝国CMS的SQL类和使用方法;
首先:做下准备工作
1.在e目录下建立测试目录,例如我建立的是e/trylife/td-test/
2.在1中目录下建立个PHP文件,例如我建立的是e/trylife/td/test-db_sql.php
3.文件中写入代码如下
< ?php
/*引用文件*/
include("../../class/connect.php");
include("../../class/db_sql.php");
/*建立数据库链接 与 实例化类*/
$link=db_connect();
$empire=new mysqlquery();
/*中间的这个位置用于我们测试代码*/
/*关闭数据库连接 与 释放类*/
db_close();
$empire=null;
?>
接下来,使用简单的<?php echo ‘你好’; ?>来对投稿流程中增设代码进行练习; 在下面的过程中将使用ECMS(帝国CMS)二次开发1 – 基本方式概述第三项,第三种方式:
1.在如下目录e\trylife\MemberAddIonfo中建立文件fun.php,并写入如下代码
2.在e/Doinfo/ecms.php中加入如下代码:
require("../trylife/MemberAddIonfo/fun.php"); //20091110 trylife for test Maddinfo
加好后参考如下:
require("../class/connect.php");
require("../class/db_sql.php");
require("../trylife/MemberAddIonfo/fun.php"); //20091110 trylife for test Maddinfo
3.在e/class/qinfofun.php DodoInfo()函数体内加入函数如下代码:
TestMAddinfo(); //trylife add for test MaddInfo 20091110
修改后参考如下:
esetcookie("lastaddinfotime",time(),time()+3600*24);//设置最后发表时间
TestMAddinfo(); //trylife add for test MaddInfo 20091110
printerror("AddQinfoSuccess",$reurl,1);
4.前台投稿,可以看到跳转链接的字了
备注:
1.这只是一个简单的测试,做完这一个流程后可以理解怎样增设功能
2.echo 可以有跟踪代码的作用;当然用工具也可以;
1.首先查看前台投稿流程图及其备注内容:
http://www.trylife.cn/member-add-info-process-on-ecms/
2.ECMS处理信息的方式基本都是这样的一个流程:
①表单提交enews=?
②信息处理脚本页接收enews值并根据其值选择引用文件,和处理函数
③处理函数进行处理,并引用相关处理函数按流程处理信息内容和录入更新删除数据
④根据情况中途或结束,使用printerror()函数终止函数继续向下运行,和打印提示信息,返回页面;
3.根据2中的提示,插入一些后台不能提供的功能:
①如果功能是在处理信息函数流之外,那么可以在表单处理脚本页进行引用文件或插入处理函数;
eg:反馈发送到邮箱 http://www.trylife.cn/ecms-feedmail/
备注:其实反馈发送到邮箱不是一个充分的例子,因为如果反馈内容没有填写完整或者不成功,在引用的反馈发送邮箱文件中也没有同等判断的时候;这个程序将会是不完美的;可能出现的情况为,反馈内容没有录入到数据库,却发送到了邮箱;当然在客户不需要ECMS后台反馈内容,与邮箱接收的反馈内容对等的时候,这样做是没有问题的。
②.如果客户要求对等信息,那么就在信息处理函数,返回成功信息前加入“反馈发送邮箱”的引用文件;
③.涉及大量的功能增设,可以考虑引用文件在表单处理页面,并将引用文件中的函数插入到需要插入的函数体内;
4.为什么不直接在函数体内写入二次功能,而要使用引用文件按
1.不容易管理二次开发文件;
2.源代码函数体内书写代码,会造成以后升级不便;
5.我的二开文件放在什么文件夹里
ECMS没有专门为二开设置文件夹,你可以在e目录及其e/admin目录下分别设置两个目录,用于放置你二开新增的文件,例如我的设置如下:
e/trylife 非后台涉及文件目录
e/trylife/js JS目录
e/trylife/css CSS目录
e/trylife/Mail 非后台涉及Mail相关新增PHP文件
e/admin/trylife 后台新增文件目录
以下同e/trylife
6.二开文档
保持良好的二开文档习惯,有利于代码的重写和程序的升级,包括以下内容:
0.新增文件代码内容注释
1.新增文件功能说明
2.修改文件说明
3.其他备忘备注
7.用户使用文档&插件安装文档
安装文档基本就是二开文档内容,使用文档,介绍功能使用方式!
转载请注明出处:http://www.trylife.cn/ecms-repeatedly-development-1/
//PHP开始
//如不在e/trylife/Mail/内则改对应引用位置
include("../../class/db_sql.php");
include("../../class/connect.php");
include("../../class/SendEmail.inc.php");
//开启数据库链接
$link=db_connect();
$empire=new mysqlquery();
//群发
//$email=array("827216443@qq.com","trylife@qq.com","94592590@qq.com");
$email ='trylife@qq.com';
$subject ='邮件标题';
$text ='邮件内容';
$sm =EcmsToSendMail($email,$subject,$text);
echo '发送成功 发送时间为'.date("Y-m-d H:i:s");
//关闭数据库链接
db_close();
$empire=null;
//PHP结束
测试:
1.到帝国后台配置下邮件参数
2.新建一个PHP文件放入上边的代码 把trylife@qq.com改成你的邮件地址
3.将2中的文件放入e/trylife/mail/文件夹下或者e/x/xx/文件夹下
4.浏览器打开访问(如果参数没有配置错,你的所在空间又有邮件功能那你可以收到邮件了)