■补课:
1.phpcms v9帮助文件,上面会写关于二次开发的一些方法。
http://v9.help.phpcms.cn/
2.找一个后台还没安装的模块,先把代码看一边。比如dianping模块
3.为你的phpcms创建一个模块的一般开发流程是:
- 创建数据库和数据表;(没有数据库操作可略过)
- 创建模块目录
- 创建模块控制器类;
- 创建模块类与模块函数;(如果只是简单的模块可以不必创建)
- 创建模板文件;
- 运行和调试。
■文件目录结构
根目录
| – api 接口文件目录
| – caches 缓存文件目录
| – configs 系统配置文件目录
| – caches_* 系统缓存目录
| – phpcms phpcms框架主目录
| – languages 框架语言包目录
| – libs 框架主类库、主函数库目录
| – model 框架数据库模型目录
| – modules 框架模块目录
| – templates 框架系统模板目录
| – phpsso_server phpsso主目录
| – statics 系统附件包
| – css 系统css包
| – images 系统图片包
| – js 系统js包
| – uploadfile 网站附件目录
| – admin.php 后台管理入口
| – index.php 程序主入口
| – crossdomain.xml FLASH跨域传输文件
| – robots.txt 搜索引擎蜘蛛限制配置文件
| – favicon.ico 系统icon图标
■模块实例(modules 和model )
一、modules:上面是公告模块的截图,看地址栏,所有的模块都放在modules这个目录里面,announce是公告模块,这里介绍一下这些目录和文件,这是一个比较标准的模块,四个目录两个文件,下面分别介绍一下:
- classes: 模块类库包,里面定义公告的pc标签使用方法;
- install: 安装包,这里配置的是安装数据,包块前台模版和模型、后台菜单等等;
- templates: 模块模版,这里通常放置含有权限控制的控制器模板,也就是后台模板;
- uninstall: 卸载包,里面通常有四个文件,第一个html是防止列目录的;sql文件是删除数据表的;extention.inc.php删除安装时添加的菜单,如果存在则执行;另一个model制定删除的model
- admin_announce.php: 后台管理控制器,后台操作的方法,可以打开看看里面都是些什么好东西。
- index.php: 前台控制器,里面是各种方法,比如show、list等。
二、model:在phpcms系统文件下,找到model文件夹,下面放的是各个模块的模型,也就是操作数据库的接口和方法,比如数据查询、删除等等方法。
这样一个完整的模块就形成了,可以在后台模块管理安装、删除操作。(注意这里有些模块的内容可能不一定有,请分别参考多几个模块,发现少了functions这个文件夹,可以自己添加上。)
■做一个自己的模块
也说不上做吧,最多也就是模仿,但是也别无他法,呵呵。下面以我建立的一个模块qiye为例。
1.)把announce复制一份,改成我们自己的模块名字,请注意现在开始要注意命名规则了,在官方的帮助文件中就有详细说明,自己可以去参考一下,这也是必须这样做,不然系统不认得你写的文件之间的关系。
2.)记得在model下面也复制一份文件修改名字和里面的内容为你的模块名,然后按照下面的流程开始做。
第一步:安装目录文件修改(install)
1.template里面新建自己的模版,这个需要看前台需要用到哪几个方法就建几个模版文件,懒得写头部就调用content的头部进来,比较通用的都可以,特殊页面自己分别写内容到模版文件里。
2.现在按照补课里面的流程来做事,我按照一般需要前后台和数据库的操作建立一个模版。
3.创建数据库,可以用软件先创建你需要的数据库,字段自己定义,可以写上比较通用的几个字段,比如id、siteid、catid、inputtime、updatetime等等。创建好了数据库,导出创建的语句,把内容替换到install目录里面的以你的模块名称的sql文件里面,比如我的qiye.sql,把里面的第二行开始的内容替换成你的,这是你的创建数据库语句。
4.修改module.sql里面的内容,这个是向系统模型控制里面写如你这个模型的sql语句,修改里面的字段,修改成你的,具体字段对应的意思你可以看系统数据库的module表,表的字段分别代表什么就很清楚了。
5.修改model.php,很简单的把array里面的名字修改成你的模块名字,比如我的qiye。
6.修改extention.inc.php,里面是我们在后台的菜单,这个在安装的时候会在后台生成控制菜单。
+上面第五行的代码,是安排他在模块管理菜单里的语句,看29这个数字,是模块管理的id,这个可以查看系统数据库的menu表的内容,看看id=29是什么你就知道了。
+第七到第十行的内容是我的后台方法的菜单,它是居于parentid之下的,意思是在刚才第一条的里面的子菜单。
+最后一行,也就是菜单的中文名字了,显示出来的内容,第一个是主菜单名字,下面是各个子菜单名字,数量对应上面的行数。
7.修改config.inc.php文件,里面的内容,顾名思义,就是配置文件了,里面就是配置对应的模块、模块名称、模块介绍、作者、作者站点、主站邮箱等等信息。
8.language文件夹,语言文件,在后台模版要用到的,比如提示或者其他说明的文字,如果你需要用到的直接配置即可,记得修改名字。