帝国CMS自定义系统模型相关常见问题

自定义系统模型相关常见问题
1、什么是系统模型?
系统模型就是通常所说的系统模块,如:新闻系统,下载系统,商城系统等。而自定义系统模型就是用户可以根据需要自由扩展各种系统模块。
帝国CMS卓越之处在于:不仅提供了网站管理功能,而且还提供了系统扩展框架,您可以直接在后台通过新建表、自定义字段,然后组成新的系统模型,以实现各种适合用户自己的系统。如下载系统、音乐系统、商城系统、产品库、分类信息等等......不同模型不同录入界面与管理列表。同时,此功能可将信息量分配于不同的信息表,支持无限分表无限容量,为数据量较大的网站进行数据部署。因系统模型扩展特性,帝国CMS又被誉为“万能建站工具”。在4.7及以上版本中,此功能又一次得到升华,不仅增强了后台管理系统的可扩展性,而且前台互动性系统的扩展也能发挥得淋漓尽致,在稳定性、扩展性与完善性等诸多方面都得到了更完美的提升!
2、自定义系统模型的基本流程:
(1)、系统分析;(分析新建的模型需要哪些属性)
(2)、增加数据表;(建立要存放数据的表)
(3)、增加字段;(建立存放数据的格式)
(4)、增加系统模型;(建立录入数据界面的格式)
(5)、完成。
3、演示用自定义系统模型制作产品展示系统:
演示用自定义系统模型制作产品展示系统:http://www.phome.net/zx/empirecms/mod/706.html
4、系统内置关键字字段说明:
系统内置关键字字段说明:http://www.phome.net/zx/empirecms/mod/709.html
5、接第3条补充后续版本新增的内置关键字字段:
eipf:记录IP所在区域,字段类型用VARCHAR、长度30。
infoipport:记录访问IP端口,字段类型用VARCHAR、长度6。
elpltime:记录最后评论时间,字段类型用int。(不要选择字段为录入项、投稿项)
6、前台发布投稿,如何设置发布后返回指定页面?
1、投稿表单加提交后返回地址变量:ecmsfrom
ecmsfrom变量值有三种方式:
(1)、如果不设置则返回系统默认的地址;
(2)、如果值为9,那么返回的是提交地址,系统自动识别;
(3)、如果设置除了9以外其它值,将返回变量值的地址。
例子:<input type="hidden" name="ecmsfrom" value="http://www.phome.net">

2、如果是设置增加投稿后返回内容页,则在投稿表单中加:<input type="hidden" name="gotoinfourl" value="1">
3、如果是设置修改投稿后返回内容页,则在投稿表单中加:<input type="hidden" name="editgotoinfourl" value="1">
7、字段处理函数使用:
帝国CMS功能解密之字段处理函数:http://www.phome.net/zx/empirecms/doc/173.html
8、系统模型处理函数使用:
帝国CMS7.5版系统模型新增信息“后台发布后处理函数”、“后台修改后处理函数”、“前台发布后处理函数”、“前台修改后处理函数”设置,系统扩展更灵活:http://www.phome.net/zx/pup/220.html
9、如何单独制作投稿页面,不用系统默认的:
做个HTML表单,表单含原信息投稿的字段变量(含classid/id/enews/字段等变量)即可,且表单的action指向/e/DoInfo/ecms.php就可以(action="/e/DoInfo/ecms.php")。
10、如何记录发布者IP:
增加“infoip”字段,infoip为记录IP的字段,只需将字段设置为录入项或投稿项,增加信息时自动存储发布者IP,字段类型用VARCHAR、长度50。
11、如何制作字母导航:
增加“infozm”字段,infozm为取得标题字母的字段,只需将字段设置为录入项或投稿项,增加或修改信息时自动存储标题第一个拼音字母,字段类型用VARCHAR、长度1。

列表页调用字母导航有以下两种方法:
1、增加26个字母的自定义列表导航页;
2、还有一种就是用结合项做导航,比如:/e/action/ListInfo.php?mid=系统模型ID&ph=1&infozm=A
12、限制一个注册用户在某一个特定栏目只能发布一条信息?
建个会员ID字段,比如mymemberid,字段类型int,设置值唯一
字段的投稿表单替换html代码:
<input name="mymemberid" type="hidden" value="<?=$ecmsfirstpost==1?$memberinfor['userid']:DoReqValue($mid,'mymemberid',stripSlashes($r['mymemberid']))?>" size="">

(7.5及以上版本还可以在栏目选项设置里直接设置)
13、什么时候把字段放在主表或副表?
字段不在列表页或标签中调用的最好都放到副表,主表字段越少效率越高。
14、投稿表单如何自动获取会员注册资料里面的内容呢?
修改字段,设置字段初始值为:$memberinfor['会员字段名'],比如:$memberinfor['oicq']
15、多值字段修改为 可以上传图片的形式方法:
可以修改字段的HTML代码 加选择图片链接:(即通过改变ID名来实现)
<input type="text" name="ffff_1[]" id="ffff_1_<?=$i?>" value=""> <a onclick="window.open('ecmseditor/FileMain.php?type=1&classid=<?=$classid?>&infoid=<?=$id?>&filepass=<?=$filepass?>&sinfo=1&doing=1&field=ffff_1_<?=$i?><?=$ecms_hashur['ehref']?>','','width=700,height=550,scrollbars=yes');" title="选择已上传的图片"><img src="../../e/data/images/changeimg.gif" border="0" align="absbottom"></a>
16、如果字段的html代码不对,如何让系统重新自动生成?
答:修改字段的“元素长度”就能让系统重新自动生成字段的html代码。(系统字段还可以选择“更新字段采集html代码”)
17、MYSQL有单表字段长度限制,如何能增加更多字段?
答:增加字段时减少选“采集字段”能增加更多字段数量。
18、导入与导出系统模型教程:
导入与导出系统模型教程:http://www.phome.net/doc/manual/mod/html/loadmod.html
19、自定义系统模型功能解密教程:
功能解密之自定义系统模型:http://www.phome.net/zx/empirecms/doc/147.html