phpcms sp4系统中内容分表管理实现

简介: phpcms sp4系统是个不错的系统,后台的文件也安排的非常有序,一般是以file的参数的值为文件名+.inc.php文件,里面使用的是switch语句来响应不同的action,以内容管理为例子,内容管理的响应文件是content.inc.php文件 phpcms是可以自定义模型的,这样就涉及到分表的问题,phpcms的做法是将所有模块的主要内容如title,keyword,autho
phpcms sp4系统是个不错的系统,后台的文件也安排的非常有序,一般是以file的参数的值为文件名+.inc.php文件,里面使用的是switch语句来响应不同的action,以内容管理为例子,内容管理的响应文件是content.inc.php文件


phpcms是可以自定义模型的,这样就涉及到分表的问题,phpcms的做法是将所有模块的主要内容如title,keyword,author这样的信息保存在一个表中,然后新建一个表来保存扩展的字段,表名一般情况下是_c_模型名这样的,
这样保存信息的时候就要区别那些是主表的字段,哪一些是扩展表的字段,
在phpcms中是用两个数组来实现的是systeminfo,modelinfo,  systeminfo数据中存放的是主表的字段与值,modelinfo中保存的是扩展的字段与值,这样就对传入的值区分开保存了,
那么如何实现区别主表与扩展表呢?系统是使用的_model_field这个表中保存的字段信息来实现的,如果字段issystem属性为真那么就是主表,反之就是扩展表中的数据




PS:如果使用phpcms后台来管理其它现有系统的数据库的情况下,可以考虑直接从前台post过来的数据源中取,而不是从systeminfo,与modelinfo这两个数据中表,因为这个数据十分依赖model表
相关文章
|
关系型数据库 MySQL PHP
PHP高级开发案例(1):使用MYSQL语句跨表查询无法导出全部记录的解决方案
PHP高级开发案例(1):使用MYSQL语句跨表查询无法导出全部记录的解决方案
85 0
|
数据库
Discuz! X3.5 DIY模块管理无法删除的解决方法
这时候可以手动清理相关的数据库,重点是_common_block表,还有_common_diy_data 与_common_template_block表,切记清理前备份好数据库,清理的时候记得不要清理错了,不然就得重新恢复数据库了
328 0
Discuz! X3.5 DIY模块管理无法删除的解决方法
|
SQL PHP
Thinkphp查询is null数据
Thinkphp查询is null数据
452 0
|
SQL 存储
phpcms 2008 sp4的这个版本如何添加一个系统字段
phpcms中可以自定义模型,模型的共同字段在pc_content表中,其它的扩展字段在pc_c_这样的前缀中的表中, 自定义模型的过程如下:自定义一个模型,会使用一组创建表的sql,这个sql存储在include/amdin/model.sql这个文件中 每个字段都有以下属性,issystem,这个属性决定着是在主表还是在附表中,还有formtype这个表示在界面生成html的类型。
1216 0