帝国 CMS 模型管理教程
学完这篇,你能在帝国 CMS 后台独立建出一个带自定义字段的新模型,并把它挂到栏目上、在前台模板里把字段调出来显示。
下面以帝国 CMS 7.5 为例,从零走一遍完整流程。
第一步:进入模型管理入口
这一步要找到模型功能在后台哪个位置,进去后你能看到系统里已有的全部模型列表。
登录后台(默认地址 http://你的域名/e/admin/),在左侧主菜单点「系统」→「数据表与系统模型」→「管理系统模型」。右侧会列出新闻系统模型、下载系统模型、图片系统模型等自带模型,每个模型后面有「修改」「管理字段」「复制」「删除」等操作链接。
注意:如果你登录的账号不是超级管理员,这个菜单可能看不见。帝国 CMS 的模型操作只对最高权限管理员开放,先用 admin 账号登录。
第二步:新建一个系统模型
这一步要创建一个新的数据表结构,做完后你能得到一个空模型,等着往里加字段。
点页面上方的「增加系统模型」按钮,填写:
- 模型名称:中文名,如「产品」
- 模型标识:英文小写,如
product,系统会据此生成数据表ecms_product - 模型类型:选「主表」或「副表」。字段少选主表即可;字段特别多(几十个以上)时把不常用的放大字段拆到副表,减轻主表查询压力
- 系统模型:选择继承哪个自带模型,一般选「新闻系统模型」或「其它」
- 模型描述:可留空
提交后回到模型列表,就能看到「产品」模型了。
注意:模型标识一旦保存就不能再改,因为它已经和数据库表名绑死了。改标识等于换表,数据会全丢。起名前先想清楚英文单词。
第三步:给模型添加自定义字段
这一步往模型里加业务字段,做完后你就能在发布信息时看到这些输入框。
在模型列表里点「产品」这一行右侧的「管理字段」,进入字段列表。点「增加字段」,逐项填写:
- 字段名:中文,如「产品价格」
- 字段标识:英文,如
price,模板调用时用的就是它 - 字段类型:数据库类型,价格选
INT或FLOAT,长文本选TEXT,短文本选VARCHAR - 输入表单类型:文本框 / 多行文本框 / 下拉框 / 单选框 / 复选框 / 上传图片 / 上传附件 / 编辑器 / 日期 等
- 选项值:只有下拉框、单选框、复选框才需要填,每行写一个选项
- 验证类型:可指定为数字、邮箱、网址、日期等,填错会直接报错
- 是否必填:按业务需要勾
提交后,重复操作把需要的字段都加完。
注意:字段标识不要和系统自带字段重名,比如
title、newstime、classid、id这些已被占用。重名会导致字段冲突,页面直接报错。
第四步:把模型分配给栏目
这一步建立栏目和模型的关联,做完后新增栏目就会用这套字段。
进入「栏目」→「管理栏目」,找到目标栏目点「修改」;新建栏目则点「增加栏目」。在「栏目属性」区域找到「所属模型」下拉框,选「产品」,提交。之后点「数据更新」→「刷新缓存」清一次缓存。
注意:模型建好但没分配给任何栏目,前台是看不到的。一个栏目只能绑定一个模型,绑定后该栏目下的信息就按这个模型的字段来发布。
第五步:在前台模板里调用自定义字段
这一步让字段内容真正显示在页面上。
内容页模板里直接用:
<?=$navinfor['price']?>
列表页或首页需要在灵动标签里写 SQL:
[e:loop={"select * from {$dbtbpre}ecms_product where classid=1 limit 10",10,24,0}]
<?=$bqr['title']?> —— <?=$bqr['price']?>
[/e:loop]
注意:表名里
$dbtbpre是前缀变量,不要硬写成ecms_,否则改过表前缀的站会查询失败。
第六步:复制和删除模型
在模型列表里点「复制」可以快速建出结构相同的模型,改改标识就能用。点「删除」会连数据表带该模型下的所有信息一起清空。
注意:删模型前先「备份数据表」,路径是「系统」→「数据表与系统模型」→「备份数据表」。删完不可恢复。
小结
- 入口在「系统」→「数据表与系统模型」→「管理系统模型」
- 模型标识即数据表名,建好后不可修改
- 字段标识避开 title、classid 等系统字段
- 建完模型必须去栏目里绑定,否则前台不生效
- 内容页用
$navinfor['字段标识'],列表页用灵动标签 - 删除模型前先备份,操作不可逆
原文链接:https://www.gj0.com/thread-100.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。