`
sony-soft
  • 浏览: 1027893 次
文章分类
社区版块
存档分类
最新评论

phpcms2008结构

 
阅读更多
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开发文档,PHPCMS2008开发文档,PHPCMS2008开发文档,PHPCMS2008开发文档

    PHPCMS V9 数据结构

    PHPCMS V9 数据结构

    PHPCMS2008特色介绍全新框架

    PHPCMS v9 特色介绍全新框架 采用全球认可的最为先进的开放理念——OOP(面向对象),进行全新框架设计。框架结构更为清晰,代码更易于维护。模块化做为功能的开发形式,让扩展性得到保证。V9特别设计的二次开发扩展...

    phpcms V9数据结构

    phpcms V9数据结构,excel,所有数据表的结构。

    PHPCMS2008二次开发手册 CHM

    phpcms2008二次开发文档离线版--CHM帮助文档格式 左边导航栏,跟在线导航栏相同结构,离线浏览 如果点击内容的导航栏,则可以在线浏览 所以准确说是在线离线双模式!

    phpcmsv9数据表结构

    phpcmsv9的数据表 清楚详细结构

    PhpCms V9 数据结构 Excel 版.rar

    phpcms v9 数据表结构,来自PHPCMS官方网站,方便大家查阅,版本为excel格式,请使用office 2003及以上版本阅读。

    phpcms数据表结构.xls

    phpcms数据表结构,有助于新手学习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数据表结构,PHPCMS_V9...

    PHPCMS V9 数据字典

    PHPCMS V9 数据字典 (2010-12-28)

    PHPCMS二次开发教程

    文件目录结构 根目录 | – api 接口文件目录 | – caches 缓存文件目录 | – configs 系统配置文件目录 | – caches_* 系统缓存目录 | – phpcms phpcms框架主目录 | – languages 框架语言包目录 | – libs ...

    phpcms系统 密码css163

    2. CMS163 server主要目录结构 ------------------------- D:\WEBServer | +---Start.bat (环境启动脚本) | +---Stop.bat (环境停止脚本) | +---wwwroot (网站站点根目录) | | | +---cms163 (CMS163 网站) | +...

    phpcms-v9数据表结构 (1).xls

    phpcms-v9数据表结构 (1).xls

    增加站点地图插件 for phpcms.rar

    站点地图可以让人清楚地了解到整个网站的栏目结构,请按照下面的方法给您的网站增加站点地图 1、下载附件,然后上传至 ./templates/default/page/ 目录(default 是当前模板风格目录) 2、进phpcms后台,系统...

    edu.zip_phpcms_phpcms 后台模板_phpcms网站 edu

    1.安装:请保持压缩包中phpcms目录下结构上传覆盖目录中所有目录及文件。 2.设置:安装好模板后,请进入网站后台“系统设置”--&gt;“模板方案管理” 将“edu方案”设为默认,然后分别进入各频道(除“信息”以外)...

    phpcmsv9 官方手册 chm 版本

    PHPCMSV9官方开发文档 PHPSSO 使用手册 模板标签 全文检索 二次开发 常见问题 数据结构

    PHPCMS V9后台模板MunSkin v1.2 by 蒙奇时光--好用--修复bug.zip

    本次修改本着不改变框架结构以及php模板的基础上尽可能的只修改CSS文件,更利于升级,完善,恢复之类的... MunSkin v1.1版本修复 1、修复官方 file input 按钮位置偏移问题,详见:界面-模板风格-导入风格; 2...

Global site tag (gtag.js) - Google Analytics