phpcms2008结构
整个phpcms系统分为两种东西构成:模块(module)和模型(model)。以phpcms模块和member模块为核心架构。特别phpcms模块为基础。
所有模块的结构为: module/ module/admin/ module/include/ module/api/ module/install/ module/uninstall/ 注:phpcms作为基础模块有一些特殊性,后面会详细介绍。
module/admin/为后台管理目录。 module/admin/admin.inc.php为模块后台入口文件。注意phpcms模块的这个文件是管理员管理,不是入口文件。如果mod不是phpcms,就/admin.php载入这个文件,这个文件的主要作用就是载入module的后台所需要的一些特殊的函数,类,变量等! module/admin/*.inc.php为后台管理文件,*代表的是file。 module/admin/include/模块后台管理包含文件。 module/admin/templates/为模块后台管理模板文件。
module/admin/setting.inc.php模块设置脚本 module/admin/priv.inc.php模块权限配置脚本 注意,在管理模块的时候会检测这两个文件,如果存在,那么模块的设置和权限管理就有连接(可以管理),如果这两个文件不存在,“设置”和“权限”就没有连接。
module/include为包含文件目录,包括一些函数和类库。 module/include/priv.inc.php为模块权限配置文件。如果模块需要权限管理功能,则通过修改此文件进行。 此文件由一个二维数据结构组成,结构如下。 <?php return array(功能1=>array(功能1详细), 功能2=>array(功能2详细), ); ?> 键值每个操作,二维数组为功能的详细,示例: <?php return array('all'=>array('name'=>'模块管理', 'file'=>'', 'action'=>''), 'add'=>array('name'=>'会员添加', 'file'=>'member', 'action'=>'add') 'add2'=>array('name'=>'会员添加2', 'file'=>'member', 'action'=>'add2') ); ?> 二维数据中name为操作的中文名称,file为执行文件,action为操作的动作。file和action空串('')表示全权限,不为空的话则表示有对应权限,多项用逗号隔开。 module/include/common.inc.php为模块初始化文件 module/include/global.func.php为模块函数库文件
module/api接口目录。
module/install为模块安装目录。 module/install/config.inc.php为模块说明文件,包括如下变量 $module 模块名称,此名字不能和其它目录名称相同 $modulename 模块中文名称 $introduce 模块简介 $author 作者 $authorsite 作者站点 $authoremail 作者邮件 module/install/mysql.sql为模块数据表文件,添加新的模块的表的操作,此文件可选,需要把添加的模块插入一条模块记录到phpcms_module表中。然后添加创建所需要的表的sql语句。 module/install/extention.inc.php模块菜单扩展文件,此文件可选,用于把模块相应的功能菜单添加到menu表中。菜单中的子父菜单的关系可以参看:系统设置——>相关设置——>菜单管理——>管理菜单。
module/uninstall为模块卸载目录。 module/uninstall/extention.inc.php为删除菜单sql语句。 module/uninstall/mysql.sql为删除模块数据表,以及在phpcms_module表中模块记录 module/uninstall/delete.txt为删除文件列表,包括语言文件,模板文件,以及模块目录下的所有文件。具体可以看“/admin/module.inc.php”中删除模块的方法。
module/*.php为模块脚本文件,根据具体情况具体发挥。
以上为普通模块的基本结构和嵌入phpcms的方法及规则,那么phpcms作为一个特殊(基础)模块有些特殊的地方。 1、目录结构特殊性。 主目录为根目录即“/”。 目录结构中也同样是包含admin/,api/,include/。install/是负责整个系统的安装。因为phpcms作为基础模块不能被卸载,这个和member模块一样,没有uninstall目录。 phpcms作为基础模块include/目录里提供了丰富的函数库,类库包括缓存操作,数据库操作,目录文件操作,会话操作等等。当然这里也包含priv.inc.php权限列表文件,config.inc.php为全站配置文件,这个跟模块安装目录里的config.inc.php大相径庭,完全不是一码事。 这里面还有一个很重要的文件夹/include/admin/里面全是系统后台管理处理类。一个file对应一个处理类。 2、功能上特殊性。 提供一些基础功能,比如缓存,数据库操作,ftp,http处理等等。
模型管理功能。可以随意添加,管理内容模型。管理每个模型对应的字段设置。字段类型对应的操作都在/include/fields/目录下。
-------------------
后台用户组叫“角色”(role),对应表phpcms_role 前台用户组称之为组(group),对应表phpcms_member_group
phpcms_search为搜索镜像表,content字段内容都镜像到这个表,做全文索引。
member_cache为memory表,用来缓存用户表member,全部镜像过来,不过是不是在线用户。这种处理会员表的方式是不是有点土鳖了?我不知道为什么要这样处理
------------------
$mod来源于get方式传递admin.php?mod=phpcms这样,表示模块!
/admin.php?后面的query_string构成及含义: 例子:admin.php?mod=phpcms&file=content&action=add&catid=1 mod : 模块 file : inc文件(content.inc.php) action : 动作(file中控制流程的参数,add,edit,list等等) catid,id等等都是action处理需要的参数。
-------------------------- type:叫做内容的分类。提供了一个按照分类(或者叫类型?)浏览的方式。/type.php类型首页。算是对内容多一种浏览方式吧。
--------------------------
单网页生成方式很不爽 /名称/index.html的方式,很不爽。应该是单网页分类名为目录,英文名称为文件名
分类/名称.html 如: about/hr.html
--------------------------
output.func.php是用来做伪静态的 --------------------
后台手工添加模块的话,最好模块英文名称用模块目录名。因为路径默认就是:模块名/。而后台添加模块的时候没有添加路径的选项。写自动安装的话可以配置路径。无伤大雅,但是需要注意!不一样的话会找不到对应文件的
--------------------
模型类型有: 0 基本类型(内容型,可以自己建立。) 2 会员型(包括企业会员,普通会员) 9 企业黄页专用(包括公司新闻:news,产品:product,商机:buy,企业招聘:job) 他们又有自己的模型字段,保存在phpcms_model_field表里。
如果直接在后台添加模型的话,先增加phpcms_model表关于这个模型的记录。然后创建模型内容表,这个表会按照include/admin/model.sql里的语句建立,并且按照这里的语句增加20条基本字段记录到phpcms_model_field,这20条基本字段和phpcms_content表对应。内容表比如phpcms_c_aticles,这个表里默认建立有三个字段contentid,content,template。
增加字段,先会在phpcms_model_field里增加记录,然后在用/include/fields/对应字段类型文件夹下的field_add.inc.php里的sql语句向内容表(如:phpcms_c_aticles)里增加字段。
我们在后台只能添加模型类型为0的模型(也就是基本的内容型模型),当然也只能编辑和删除这样的模型。
模型的使用:用栏目来绑定模型,然后再管理内容比如添加内容,这是会根据该栏目绑定的模型,调用模型字段对应的表单显示给用户,用来增加内容,增加的内容里,基本的20个字段的内容会存储在phpcms_content表里,content,template以及新增加的字段的内容会存储在“phpcms_c_模型表名”表里。
这个就是建立模型,增加模型字段,以及模型的使用。模型的功能大大增强了phpcms这个基本模块,这是phpcms2008优于2007的一个重要方面。在phpcms2007中只能用复制模块的方式来达到“模型”的复用的目的。
-----------------------------
phpcms模块下的分类会添加到phpcms_menu表,以供添加内容的左菜单菜单调用。
|
|
相关推荐
PHPCms2008数据库设计结构文档详解
PHPCMS2008开发文档,PHPCMS2008开发文档,PHPCMS2008开发文档,PHPCMS2008开发文档
PHPCMS V9 数据结构
PHPCMS v9 特色介绍全新框架 采用全球认可的最为先进的开放理念——OOP(面向对象),进行全新框架设计。框架结构更为清晰,代码更易于维护。模块化做为功能的开发形式,让扩展性得到保证。V9特别设计的二次开发扩展...
phpcms V9数据结构,excel,所有数据表的结构。
phpcms2008二次开发文档离线版--CHM帮助文档格式 左边导航栏,跟在线导航栏相同结构,离线浏览 如果点击内容的导航栏,则可以在线浏览 所以准确说是在线离线双模式!
phpcmsv9的数据表 清楚详细结构
phpcms v9 数据表结构,来自PHPCMS官方网站,方便大家查阅,版本为excel格式,请使用office 2003及以上版本阅读。
phpcms数据表结构,有助于新手学习phpcms
phpcms目录结构
phpcms v9数据表结构,数据库中所有的表名、作用、列名以及注释详解
PHPCMS V9 产品开发权威指南,phpcms_v9_代码分析(一、二、三),phpcms_v9_二次开发及标签制作讲义,PHPCMS_V9安装教程,PHPCMS_V9帮助中心,PHPCMS_V9开发文档,PHPCMS_V9模板制作,phpcms_v9数据表结构,PHPCMS_V9...
PHPCMS V9 数据字典 (2010-12-28)
文件目录结构 根目录 | – api 接口文件目录 | – caches 缓存文件目录 | – configs 系统配置文件目录 | – caches_* 系统缓存目录 | – phpcms phpcms框架主目录 | – languages 框架语言包目录 | – libs ...
2. CMS163 server主要目录结构 ------------------------- D:\WEBServer | +---Start.bat (环境启动脚本) | +---Stop.bat (环境停止脚本) | +---wwwroot (网站站点根目录) | | | +---cms163 (CMS163 网站) | +...
phpcms-v9数据表结构 (1).xls
站点地图可以让人清楚地了解到整个网站的栏目结构,请按照下面的方法给您的网站增加站点地图 1、下载附件,然后上传至 ./templates/default/page/ 目录(default 是当前模板风格目录) 2、进phpcms后台,系统...
1.安装:请保持压缩包中phpcms目录下结构上传覆盖目录中所有目录及文件。 2.设置:安装好模板后,请进入网站后台“系统设置”-->“模板方案管理” 将“edu方案”设为默认,然后分别进入各频道(除“信息”以外)...
PHPCMSV9官方开发文档 PHPSSO 使用手册 模板标签 全文检索 二次开发 常见问题 数据结构
本次修改本着不改变框架结构以及php模板的基础上尽可能的只修改CSS文件,更利于升级,完善,恢复之类的... MunSkin v1.1版本修复 1、修复官方 file input 按钮位置偏移问题,详见:界面-模板风格-导入风格; 2...