如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
http://www.hvdq.nethttp://www.chnhv.com/baike/10.htmLazyCMS1.1模块开发规则来源:本站原创作者:Lukin发布日期:2008-05-10浏览次数:此开发规则仅献给热衷于开源事业的LazyCMS程序员!模块所有文件编码都为UTF-8开发模式请先修改core/LazyCMS.php文件的CACHE_RUNTIME常量值,防止缓存1.模块的构成模块只有一个独立的文件夹,目录为“page/[模块文件夹]”,模块目录只能使用英文、数字、和下划线构成;system是系统目录,模块不能以system命名。2.模块的安装登录后台->模块->点击安装,系统自动将在自定义菜单添加相关管理菜单,这样就完成了模块安装,以后准备扩展模块安装功能,用户可以直接浏览上传模块包,上传并解包安装。3.模块目录结构规则[page]|-[模块目录]|-[language]#语言包文件夹,祥见6|-[template]#后台模板目录,详见8|-[help]#帮助文件夹,此文件夹可选,文件支持UBB格式|-help.html#模块帮助文件,一般书写模块标签及使用方法|-about.html#关于模块的介绍|-common.php#模块公用文件,此文件可选|-config.php#模块配置文件,此文件可选|-control.php#模块控制层,祥见9|-index.html#模块保护文件,此文件可选|-module.php#模块功能库和命名空间函数库,此文件可选,祥见104.创建数据库规则a.)数据表前缀使用#@_作为替代符b.)所有数据表名称不能使用:system,admin,log,diymenuc).模块目录及数据库表一致性原则一个模块里面有多个数据表前缀为模块名称,例:archives模块分类表名称则命名为“archives_sort”5.函数调用只要模块被安装,就可以直接调用函数库。使用静态方法调用各个已安装模块的函数。例:Onepage::create(1)6.语言包的结构<'xmlversion="1.0"encoding="UTF-8"'><lazycms><title>[模块名称]</title><version>[版本]</version><author>[作者]</author><email>[作者常用邮箱]</email><source>[作者来自哪里?]</source><manage>[模块的后台管理地址,请使用url函数]</manage><common>[通用语言]</common><list>[列表页语言]</list><label>[表单页语言]</label><check>[表单验证提示]</check><pop>[poping对话框提示语言]</pop><alert>[弹出窗口提示语言]</alert></lazycms>部分复杂的内容可以用<![CDATA[…]]>方式插入,比如:html格式7.语言包的命名page/system/inc/language.xml<文件名l="语言名称"/><zhl="繁體中文"/><zh-cnl="简体中文"/>既要把语言包翻译成繁体,则需要先把模块目录下面的zh-cn.xml文件另存为zh.xml,然后进行翻译操作,当然简体->繁体是不需要翻译,直接转换即可。8.后台模板后台模板最好以.php为后缀名,模板支持php标签,支持LazyCMS里的任何函数后台模块模板头部直接使用<'phpSystem::header();'>,尾部直接使用<'phpSystem::footer();'>9.control.phpA).作用:管理数据、显示数据、操作数据B).结构/***模块控制层**Control类名称必须以Lazy开头,且继承LazyCMS基础类*动作方法必须用_(一个下划线)开头,如果不以_(一个下划线)开头,此方法则是不可见的。*Control类必须实现function_index(){}方法*LazyCMS框架实现了子类的构造函数[_initialize()]和析构函数[_terminate()]模拟*子类不可覆盖LazyCMS父类的部分函数,具体请参看core/system/lazycms.php文件*/classLazyArchivesextendsLazyCMS{//必须实现此方法,默认操作方法function_index(){//引用模板对象,$this设置之后,在模板里分配一个$module变量为$this$tpl=getTpl($this);$tpl->display('index.php');}}10.module.phpA).作用1.模块专用模仿命名空间的函数类库2.模块标签解析函数3