本篇主要讲解帝国CMS二次开发入门教程,学会了你就会大致知道帝国CMS二次开发从何入手了。首先在说帝国CMS二次开发之前,我们得先了解帝国CMS目录结构和常用的自带函数。
帝国CMS目录结构
系统根目录
├d/ 附件和数据存放目录 (data)
│├file/ 附件存放目录
│├js/ JS调用生成目录
│└txt/ 内容存文本存放目录
├e/ 系统程序目录 (empire)
├html/ 自定义内容页存放预设目录
├images/ 默认模板图片目录
├s/ 专题目录 (special)
├search/ 高级搜索页面目录
├skin/ 模板CSS和图片存放目录
├testdata/ 内置测试数据的附件目录 (安装时选择测试数据用的,不内置测试数据可以删除)
└index.html 网站首页
/e/ 系统程序目录
├action/ 信息动态列表页和内容页目录
├admin/ 后台目录 (可重命名)
├class/ 系统核心文件目录
├data/ 系统处理数据相关目录 (临时文件、缓存等)
├DoInfo/ 前台会员管理信息目录 (页面模板e/template/DoInfo)
├DoPrint/ 打印页面目录
├DownSys/ 下载系统模型功能目录 (页面模板e/template/DownSys)
├enews/ 前台处理数据入口文件
├extend/ 扩展程序目录
├ftp/ FTP识别目录
├install/ 安装程序目录,安装后请删除掉
├member/ 前台会员功能目录 (页面模板e/template/member)
├message/ 提示信息页面目录
├NewsSys/ 新闻系统模型功能目录
├payapi/ 在线支付接口目录 (页面模板e/template/payapi)
├pl/ 评论页目录
├public/ 公用功能程序目录 (页面模板e/template/public)
├sch/ 全站全文搜索生成目录
├search/ 普通搜索文件目录
├ShopSys/ 商城系统模型功能目录 (页面模板e/template/ShopSys)
├ShowKey/ 前台验证码文件目录
├space/ 会员空间目录 (其中template为会员空间模板目录)
├tags/ TAGS列表文件目录
├tasks/ 计划任务脚本存放目录
├template/ 前台动态页的模板目录
├tool/ 插件相关功能目录 (页面模板e/template/tool)
├update/ 升级程序目录 (升级程序复制到这个目录运行)
├ViewImg/ 显示图片大图目录
├wap/ WAP功能目录 (其中template为WAP模板目录)
└web/ RSS显示文件目录
/e/template/ 动态页面模板目录
├DoInfo/ 前台投稿模板目录 (对应程序目录:/e/DoInfo/)
│├AddInfo.php 发布投稿页面模板 (对应程序文件:/e/DoInfo/AddInfo.php)
│├ChangeClass.php 发布投稿选择栏目页面模板 (对应程序文件:/e/DoInfo/ChangeClass.php)
│├DoInfo.php 管理投稿首页页面模板 (对应程序文件:/e/DoInfo/index.php)
│└tran.php 发布投稿上传附件页面模板 (对应程序文件:/e/DoInfo/tran.php)
├DownSys/ 下载模型页面模板目录 (对应程序目录:/e/DownSys/)
│└report.php 提交错误报告页面模板 (对应程序文件:/e/report/index.php)
├member/ 会员中心模板目录 (对应程序目录:/e/member/)
│├memberlist/ 会员列表页面模板目录 (对应程序文件:/e/member/list/index.php)
│├mspace/ 管理会员空间页面模板目录 (对应程序目录:/e/member/mspace/)
││├ChangeStyle.php 选择空间模板页面模板 (对应程序文件:/e/member/mspace/ChangeStyle.php)
││├feedback.php 管理会员空间反馈页面模板 (对应程序文件:/e/member/mspace/feedback.php)
││├gbook.php 管理会员空间留言页面模板 (对应程序文件:/e/member/mspace/gbook.php)
││├ReGbook.php 管理会员空间留言回复页面模板 (对应程序文件:/e/member/mspace/ReGbook.php)
││├SetSpace.php 设置会员空间页面模板 (对应程序文件:/e/member/mspace/SetSpace.php)
││└ShowFeedback.php 管理会员空间反馈显示反馈页面模板 (对应程序文件:/e/member/mspace/ShowFeedback.php)
│├AddFava.php 增加收藏页面模板 (对应程序文件:/e/member/fava/add/index.php)
│├AddFriend.php 增加好友页面模板 (对应程序文件:/e/member/friend/add/index.php)
│├AddMsg.php 发送站内信息页面模板 (对应程序文件:/e/member/msg/AddMsg/index.php)
│├buybak.php 购买记录页面模板 (对应程序文件:/e/member/buybak/index.php)
│├buygroup.php 购买充值类型页面模板 (对应程序文件:/e/member/buygroup/index.php)
│├card.php 点卡充值页面模板 (对应程序文件:/e/member/card/index.php)
│├ChangeFriend.php 选择好友页面模板 (对应程序文件:/e/member/friend/FriendClass/index.php)
│├ChangeRegister.php 选择注册会员组页面模板 (对应程序文件:/e/member/register/ChangeRegister.php)
│├cp.php 会员中心首页页面模板 (对应程序文件:/e/member/cp/index.php)
│├downbak.php 消费记录页面模板 (对应程序文件:/e/member/downbak/index.php)
│├EditInfo.php 修改资料页面模板 (对应程序文件:/e/member/EditInfo/index.php)
│├EditSafeInfo.php 修改安全资料页面模板 (对应程序文件:/e/member/EditInfo/EditSafeInfo.php)
│├fava.php 管理收藏页面模板 (对应程序文件:/e/member/fava/index.php)
│├FavaClass.php 管理收藏分类页面模板 (对应程序文件:/e/member/fava/FavaClass/index.php)
│├friend.php 管理好友页面模板 (对应程序文件:/e/member/friend/index.php)
│├FriendClass.php 管理好友分类页面模板 (对应程序文件:/e/member/friend/FriendClass/index.php)
│├getpass.php 取回密码重置页面模板 (对应程序文件:/e/member/GetPassword/getpass.php)
│├GetPassword.php 取回密码页面模板 (对应程序文件:/e/member/GetPassword/index.php)
│├login.php 会员登录页面模板 (对应程序文件:/e/member/login/index.php)
│├loginopen.php 弹出页面提示重新登陆页面模板 (对应程序文件:/e/member/login/login.php)
│├msg.php 管理站内信息页面模板 (对应程序文件:/e/member/msg/index.php)
│├my.php 我的状态页面模板 (对应程序文件:/e/member/my/index.php)
│├register.php 会员注册页面模板 (对应程序文件:/e/member/register/index.php)
│├regsend.php 注册激活帐号页面模板 (对应程序文件:/e/member/register/regsend.php)
│├ShowInfo.php 查看会员资料页面模板 (对应程序文件:/e/member/ShowInfo/index.php)
│└ViewMsg.php 查看站内信息内容页面模板 (对应程序文件:/e/member/msg/ViewMsg/index.php)
├payapi/ 在线支付页面模板目录 (对应程序目录:/e/payapi/)
│└payapi.php 在线支付页面模板 (对应程序文件:/e/payapi/index.php)
├public/ 公共程序页面模板目录 (对应程序目录:/e/public/)
│└vote.php 信息投票结果页面模板 (对应程序文件:/e/public/vote/index.php)
├ShopSys/ 商城模型页面模板目录 (对应程序目录:/e/ShopSys/)
│├buycar.php 购物车页面模板 (对应程序文件:/e/ShopSys/buycar/index.php)
│├ListDd.php 管理商城订单页面模板 (对应程序文件:/e/ShopSys/ListDd/index.php)
│├order.php 订单提交表单页面模板 (对应程序文件:/e/ShopSys/order/index.php)
│├ShowDd.php 查看商城订单内容页面模板 (对应程序文件:/e/ShopSys/ShowDd/index.php)
│└SubmitOrder.php 订单提交最终确认页面模板 (对应程序文件:/e/ShopSys/SubmitOrder/index.php)
└tool/ 内置插件模板目录 (对应程序目录:/e/tool/)
└vote.php 投票插件结果页面模板 (对应程序文件:/e/tool/vote/index.php)

帝国CMS常用函数介绍
常用函数可以帮助你解决许多问题,学会了让你少写几千行代码。

一、esub()截取字段函数
语法:esub(字符串,截取字数,后缀)
说明:后缀为截取字符后附带内容,此参数可以省略。
使用范例:

<?=esub('12345678',6)?>,返回结果为:123456 <?=esub('12345678',6,'...')?>,返回结果为:123456...

二、date()转换时间格式函数
语法:date(时间格式,时间戳)
说明:PHP本身函数,使用说明可以参考:http://cn.php.net/manual/en/function.date.php
使用范例:

<?=date('Y-m-d H:i:s',1277865010)?>,返回结果为:2010-06-30 10:30:10

三、format_datetime()转换时间格式函数2
语法:format_datetime(正常时间,时间格式)
说明:和date()的区别是format_datetime是转换正常时间,而date是转换unix时间戳。
使用范例:

<?=format_datetime('2010-06-30 10:30:10','m/d')?>,返回结果为:06/30

四、通过ID取得栏目地址函数
语法:sys_ReturnBqClassname(r,9)说明:r,9) 说明:r,9)说明:r为含栏目ID的数组,变量名可任意命名。
使用范例:取得栏目ID=2的栏目地址。

<?php $cr['classid']=2; $classurl=sys_ReturnBqClassname($cr,9); echo $classurl; ?>

通过ID取得栏目地址的其他方法:
(1)、/e/public/ClassUrl/?classid=栏目ID
(2)、/<?=$class_r[栏目ID]['classpath']?>
五、取得信息内容页地址函数
语法:sys_ReturnBqTitleLink(r)说明:r) 说明:r)说明:r为含“id,classid,newspath,filename,groupid,titleurl”字段内容的数组,变量名可任意命名。
使用范例:取得信息ID=8的新闻页面地址

<?php $nr=$empire->fetch1("select id,classid,newspath,filename,groupid,titleurl from {$dbtbpre}ecms_news where id='8' limit 1"); $titleurl=sys_ReturnBqTitleLink($nr); echo $titleurl; ?>

通过ID取得信息内容页地址的其他方法:
/e/public/InfoUrl/?classid=栏目ID&id=信息ID
六、提示信息函数1
语法:printerror(error,error,error,gotourl,ecms,ecms,ecms,noautourl,$novar)
说明:
$error:提示信息内容,可以为语言包变量,也可以直接提示内容。
$gotourl:提示信息转向链接地址
$ecms:0为后台提示信息、1为前台提示信息、8为后台提示信息(alert方式)、9为前台提示信息(alert方式)
$noautourl:0为自动转向页面,1为不自动转向页面。此参数可省略,默认为0
novar:0为提示信息内容采用语言包变量,1为提示信息内容为直接提示内容。此参数可以省略,默认为0使用范例:printerror(′DbError′,′http://www.phome.net′,1),前台提示,提示信息内容为语言包DbError变量内容,转向帝国网站printerror(′数据库出错′,′http://www.phome.net′,1,0,1),前台提示,提示信息内容为“数据库出错”,转向帝国网站附加说明:此函数需结合novar:0为提示信息内容采用语言包变量,1为提示信息内容为直接提示内容。此参数可以省略,默认为0 使用范例: printerror('DbError','http://www.phome.net',1),前台提示,提示信息内容为语言包DbError变量内容,转向帝国网站 printerror('数据库出错','http://www.phome.net',1,0,1),前台提示,提示信息内容为“数据库出错”,转向帝国网站 附加说明: 此函数需结合novar:0为提示信息内容采用语言包变量,1为提示信息内容为直接提示内容。此参数可以省略,默认为0使用范例:printerror(′DbError′,′http://www.phome.net′,1),前台提示,提示信息内容为语言包DbError变量内容,转向帝国网站printerror(′数据库出错′,′http://www.phome.net′,1,0,1),前台提示,提示信息内容为“数据库出错”,转向帝国网站附加说明:此函数需结合editor变量来确定目录层次。默认editor变量为0。当程序文件在/e/path/目录,editor变量为0。 当程序文件在/e/path/目录,editor变量为0。当程序文件在/e/path/目录,editor不用设置,也就是用默认0。
当程序文件在/e/path/path2/目录,editor=1。当程序文件在/e/path/path2/path3/目录,editor=1。 当程序文件在/e/path/path2/path3/目录,editor=1。当程序文件在/e/path/path2/path3/目录,editor=2。
当程序文件在/e/path/path2/path3/path4/目录,editor=3。七、提示信息函数2(直接提示内容)语法:printerror2(editor=3。 七、提示信息函数2 (直接提示内容) 语法:printerror2(editor=3。七、提示信息函数2(直接提示内容)语法:printerror2(error,gotourl,gotourl,gotourl,ecms,$noautourl)
说明:
$error:直接提示信息的内容。
$gotourl:提示信息转向链接地址
$ecms:0为默认提示信息方式、9为弹出提示信息方式(alert方式)。此参数可省略,默认为0
noautourl:0为自动转向页面,1为不自动转向页面。此参数可省略,默认为0使用范例:printerror2(′添加完毕′,′http://www.phome.net′),提示信息内容为“添加完毕”,转向帝国网站附加说明:此函数不需要结合其他变量,可以在任意目录层次使用。不支持使用语言包变量。八、设置系统COOKIE变量函数语法:esetcookie(noautourl:0为自动转向页面,1为不自动转向页面。此参数可省略,默认为0 使用范例: printerror2('添加完毕','http://www.phome.net'),提示信息内容为“添加完毕”,转向帝国网站 附加说明: 此函数不需要结合其他变量,可以在任意目录层次使用。不支持使用语言包变量。 八、设置系统COOKIE变量函数 语法:esetcookie(noautourl:0为自动转向页面,1为不自动转向页面。此参数可省略,默认为0使用范例:printerror2(′添加完毕′,′http://www.phome.net′),提示信息内容为“添加完毕”,转向帝国网站附加说明:此函数不需要结合其他变量,可以在任意目录层次使用。不支持使用语言包变量。八、设置系统COOKIE变量函数语法:esetcookie(var,val,val,val,life,$ecms)
说明:
$var:为变量名
$val:为变量值
$life:为COOKIE有效时间,单位秒,0为不保存。此参数可省略,默认为不保存。
ecms:0为设置前台COOKIE变量,1为设置后台COOKIE变量。此参数可省略,默认为0。使用范例:esetcookie(′mybody′,′帝国′),定义前台“COOKIE前缀+mybody”变量,变量内容为“帝国”esetcookie(′mybody′,′帝国′,0,1),定义后台“COOKIE前缀+mybody”变量,变量内容为“帝国”附加说明:此设置COOKIE函数会给变量名加上COOKIE前缀,你可也可以直接用PHP本身的setcookie来定义。九、取得系统COOKIE变量函数语法:getcvar(ecms:0为设置前台COOKIE变量,1为设置后台COOKIE变量。此参数可省略,默认为0。 使用范例: esetcookie('mybody','帝国'),定义前台“COOKIE前缀+mybody”变量,变量内容为“帝国” esetcookie('mybody','帝国',0,1),定义后台“COOKIE前缀+mybody”变量,变量内容为“帝国” 附加说明: 此设置COOKIE函数会给变量名加上COOKIE前缀,你可也可以直接用PHP本身的setcookie来定义。 九、取得系统COOKIE变量函数 语法:getcvar(ecms:0为设置前台COOKIE变量,1为设置后台COOKIE变量。此参数可省略,默认为0。使用范例:esetcookie(′mybody′,′帝国′),定义前台“COOKIE前缀+mybody”变量,变量内容为“帝国”esetcookie(′mybody′,′帝国′,0,1),定义后台“COOKIE前缀+mybody”变量,变量内容为“帝国”附加说明:此设置COOKIE函数会给变量名加上COOKIE前缀,你可也可以直接用PHP本身的setcookie来定义。九、取得系统COOKIE变量函数语法:getcvar(var,$ecms)
说明:
$var:为变量名
ecms:0为设置前台COOKIE变量,1为设置后台COOKIE变量。此参数可省略,默认为0。使用范例:getcvar(′mlusername′),取得前台登陆会员的用户名getcvar(′loginusername′,1),取得后台登陆管理员的用户名附加说明:此取得COOKIE函数是取得变量名加上COOKIE前缀的变量,你可也可以直接用PHP本身的ecms:0为设置前台COOKIE变量,1为设置后台COOKIE变量。此参数可省略,默认为0。 使用范例: getcvar('mlusername'),取得前台登陆会员的用户名 getcvar('loginusername',1),取得后台登陆管理员的用户名 附加说明: 此取得COOKIE函数是取得变量名加上COOKIE前缀的变量,你可也可以直接用PHP本身的ecms:0为设置前台COOKIE变量,1为设置后台COOKIE变量。此参数可省略,默认为0。使用范例:getcvar(′mlusername′),取得前台登陆会员的用户名getcvar(′loginusername′,1),取得后台登陆管理员的用户名附加说明:此取得COOKIE函数是取得变量名加上COOKIE前缀的变量,你可也可以直接用PHP本身的_COOKIE[‘变量名’]来取得。
十、取得IP地址函数
语法:egetip()
使用范例:

<?php $ip=egetip(); echo $ip; ?>

十一、动态页面显示分页函数
语法:page1(num,num,num,line,pageline,page_line,pagel​ine,start,page,page,page,search)
说明:
$num:总记录数
$line:每页显示数量
$page_line:每页显示分页链接数
$start:预设变量,设置0即可。
$page:当前页码(0为起始页码)
search:链接附加参数十二、通过栏目ID取得栏目名和栏目别名方法:栏目名:<?=search:链接附加参数 十二、通过栏目ID取得栏目名和栏目别名方法: 栏目名:<?=search:链接附加参数十二、通过栏目ID取得栏目名和栏目别名方法:栏目名:<?=class_r[栏目ID][‘classname’]?>
栏目别名:<?=$class_r[栏目ID]['bname']?>

帝国CMS二次开发教程
二次开发教程在你了解以上内容后也非常简单,二次开发不需要你了解太多的PHP知识,但需要会一点SQL写法,常用的SQL查询语句都可以在网上找到。

帝国CMS二次开发语法范本

<?php require('../../class/connect.php'); //引入数据库配置文件和公共函数文件 require('../../class/db_sql.php'); //引入数据库操作文件 require('../../data/dbcache/class.php'); //引入栏目缓存文件 $link=db_connect(); //连接MYSQL $empire=new mysqlquery(); //声明数据库操作类 $editor=1; //声明目录层次$sql=$empire->query("select * from {$dbtbpre}ecms_news order by newstime limit 10"); //查询新闻表最新10条记录 require('template/index.temp.php'); //导入模板文件 db_close(); //关闭MYSQL链接 $empire=null; //注消操作类变量 ?>

上面就是一个二次开发的范本了,链接数据库 然后查询信息,学会了你就会可以查询调用任何你需要调用的信息了,也可以彻底摆脱帝国CMS默认调用标签的束缚了。
本文转自迅雪网

帝国CMS二次开发入门教程相关推荐

  1. Flow-3D二次开发入门 教程

    Flow-3D二次开发入门 教程 加载体热源 (默认的,没有任何热源) General Physics Fluid设定 Meshing & Geometry Geometry meshing ...

  2. 帝国CMS二次开发批量修改标题

    一淘模板(56admin.com)在帝国CMS二次开发批量修改标题,以下修改方法可以同时用于 e/data/html/list/alllistinfo.php文件 和 e/data/html/list ...

  3. Revit二次开发入门教程一(工具篇)

    对BIM开发感兴趣的读者可以关注我的BIM开发系列教程 什么是BIM开发?这篇文章可以告诉你 Revit二次开发教程提纲 Revit二次开发编程入门一(工具篇) 前言 BIM诞生的背景 Revit在B ...

  4. 帝国cms二次开发之文件夹的功能说明

    特别注意,此次开发开发需要下载lskmvc for ecms即为帝国cms开发封装的一个二次开发小框架,众所周知,帝国cms本身是采用函数式的编程,缺点就是不好结构化代码,比较不好组织代码. lskm ...

  5. 帝国cms php超时,帝国CMS二次开发基本问题汇总

    很多帝国CMS用户在使用过程中经常会出于个性化功能需求等原因而对帝国CMS进行二次开发,其中也会遇到不少问题,现就常见的问题汇总如下: 1.首先查看前台投稿流程图及其备注内容: http://bbs. ...

  6. flexpaper java 例子_Flexpaper二次开发入门教程》(十) Flexpaper简单使用-第一个Flexpaper例子...

    4. Flexpaper简单使用 通过上面三章的内容,大家对Flexpaper.SWFTools应该有大概的了解了,SWF文件也已经生成了,我们开始进入Flexpaper的使用的介绍. 本章中只演示F ...

  7. flexpaper java 例子_【转载】《Flexpaper二次开发入门教程》(十) Flexpaper简单使用-第一个Flexpaper例子(4.1节) ......

    主要文件.文件夹说明: Examples存放Flexpaper使用例子 Js存放Flexpaper调用的JS文件 Php存放PHP使用的文档.JS.库.SWF文件 Index.html例子主页 Fle ...

  8. 【Ardunio】开发入门教程【二】数据类型

    Ardunio数据类型 boolean 布尔 char 字符 byte 字节 int 整数 unsigned int 无符号整数 long 长整数 unsigned long 无符号长整数 float ...

  9. 【Arduino】开发入门教程【一】什么是Arduino

    Arduino Arduino 是一款便捷灵活.方便上手的开源电子原型平台,包含硬件(各种型号的arduino板)和软件(arduino IDE).它适用于艺术家.设计师.爱好者和对于"互动 ...

  10. 微信公众号开发入门教程第一篇

    微信公众号开发入门教程第一篇 关键字:微信公众平台开发 作者:方倍工作室 在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序.MySQL数据库.计算机网络通讯.及HTTP/XML/CSS/ ...

最新文章

  1. 日本漫画巨匠力作,看漫画就能学会Python,简直不要太轻松
  2. Visual Event插件----查看html元素绑定的事件与方法的利器
  3. php 模拟并发请求_PHP接口并发测试的方法
  4. 玩转u8g2 OLED库,一篇就够
  5. 【归并排序】求逆序数算法
  6. SpringBoot之MongoTemplate的查询可以怎么耍
  7. element table 组件内容换行方案
  8. nodejs 二进制安装
  9. java设计模式之备忘_[译]Java 设计模式之备忘录
  10. 最硬核交通信号灯上线:专治老司机们的这个“臭毛病”!
  11. JDBCUtils类测试
  12. 一小时精通SVN版本控制 之五 团队协作开发
  13. Geoserver 发布 shp文件
  14. vmware fusion个人版
  15. 【数据分析案例】如何定义你的“亲密关系”
  16. python期货基本面分析_用python对股票期货做时序分析
  17. untiy 监听屏幕点击 物体(实现)
  18. 【SEED Lab】ARP Cache Poisoning Attack Lab
  19. Java汉字转拼音工具类(支持首字母和全拼)
  20. TX2安装opencv3.4.0

热门文章

  1. Windows Server 2016 路由和远程访问
  2. 特征图注意力_【抠图中的注意力机制】HAttMatting---让抠图变得如此简单!
  3. 模块三 day22 并发编程(上)
  4. Web前端工程师推荐的书籍
  5. 视频封装格式篇--MP4
  6. oracle优化器analyzed,Oracle 学习之 性能优化(十三) 索引
  7. 解决wps缺少字体的问题
  8. unexpected indent错误
  9. 浅析大数据与传统经济学
  10. mysql got signal 11_轻松解决MYSQL错误mysqld got signal 11 ;