帝国CMS二次开发入门教程
本篇主要讲解帝国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,pageline,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二次开发入门教程相关推荐
- Flow-3D二次开发入门 教程
Flow-3D二次开发入门 教程 加载体热源 (默认的,没有任何热源) General Physics Fluid设定 Meshing & Geometry Geometry meshing ...
- 帝国CMS二次开发批量修改标题
一淘模板(56admin.com)在帝国CMS二次开发批量修改标题,以下修改方法可以同时用于 e/data/html/list/alllistinfo.php文件 和 e/data/html/list ...
- Revit二次开发入门教程一(工具篇)
对BIM开发感兴趣的读者可以关注我的BIM开发系列教程 什么是BIM开发?这篇文章可以告诉你 Revit二次开发教程提纲 Revit二次开发编程入门一(工具篇) 前言 BIM诞生的背景 Revit在B ...
- 帝国cms二次开发之文件夹的功能说明
特别注意,此次开发开发需要下载lskmvc for ecms即为帝国cms开发封装的一个二次开发小框架,众所周知,帝国cms本身是采用函数式的编程,缺点就是不好结构化代码,比较不好组织代码. lskm ...
- 帝国cms php超时,帝国CMS二次开发基本问题汇总
很多帝国CMS用户在使用过程中经常会出于个性化功能需求等原因而对帝国CMS进行二次开发,其中也会遇到不少问题,现就常见的问题汇总如下: 1.首先查看前台投稿流程图及其备注内容: http://bbs. ...
- flexpaper java 例子_Flexpaper二次开发入门教程》(十) Flexpaper简单使用-第一个Flexpaper例子...
4. Flexpaper简单使用 通过上面三章的内容,大家对Flexpaper.SWFTools应该有大概的了解了,SWF文件也已经生成了,我们开始进入Flexpaper的使用的介绍. 本章中只演示F ...
- flexpaper java 例子_【转载】《Flexpaper二次开发入门教程》(十) Flexpaper简单使用-第一个Flexpaper例子(4.1节) ......
主要文件.文件夹说明: Examples存放Flexpaper使用例子 Js存放Flexpaper调用的JS文件 Php存放PHP使用的文档.JS.库.SWF文件 Index.html例子主页 Fle ...
- 【Ardunio】开发入门教程【二】数据类型
Ardunio数据类型 boolean 布尔 char 字符 byte 字节 int 整数 unsigned int 无符号整数 long 长整数 unsigned long 无符号长整数 float ...
- 【Arduino】开发入门教程【一】什么是Arduino
Arduino Arduino 是一款便捷灵活.方便上手的开源电子原型平台,包含硬件(各种型号的arduino板)和软件(arduino IDE).它适用于艺术家.设计师.爱好者和对于"互动 ...
- 微信公众号开发入门教程第一篇
微信公众号开发入门教程第一篇 关键字:微信公众平台开发 作者:方倍工作室 在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序.MySQL数据库.计算机网络通讯.及HTTP/XML/CSS/ ...
最新文章
- 日本漫画巨匠力作,看漫画就能学会Python,简直不要太轻松
- Visual Event插件----查看html元素绑定的事件与方法的利器
- php 模拟并发请求_PHP接口并发测试的方法
- 玩转u8g2 OLED库,一篇就够
- 【归并排序】求逆序数算法
- SpringBoot之MongoTemplate的查询可以怎么耍
- element table 组件内容换行方案
- nodejs 二进制安装
- java设计模式之备忘_[译]Java 设计模式之备忘录
- 最硬核交通信号灯上线:专治老司机们的这个“臭毛病”!
- JDBCUtils类测试
- 一小时精通SVN版本控制 之五 团队协作开发
- Geoserver 发布 shp文件
- vmware fusion个人版
- 【数据分析案例】如何定义你的“亲密关系”
- python期货基本面分析_用python对股票期货做时序分析
- untiy 监听屏幕点击 物体(实现)
- 【SEED Lab】ARP Cache Poisoning Attack Lab
- Java汉字转拼音工具类(支持首字母和全拼)
- TX2安装opencv3.4.0