海洋CMS如何添加自定义字段?扩展字段教程。

juming
juming 正式会员超兽战士
发布于 2026-10-07 07:44 ·1 浏览 ·0 回复

结论:海洋CMS添加自定义字段有两条路——后台「系统 → 自定义字段(部分版本叫扩展字段)」可视化添加,适合 90% 的场景;后台没有入口或需要批量加字段时,直接对数据表执行 ALTER TABLE 再在模板里调用。两条路走完,前台都能用 {$vod.字段名} 取值。

海洋CMS 后台在哪里添加自定义字段?

进入后台后,路径是「系统」菜单下的「自定义字段」或「扩展字段管理」,点「添加字段」即可。不同版本的菜单中文名会略有差异,找不到时在后台顶部搜索框搜「字段」两个字,一般都能定位到。

添加时需要填四样东西,其中三项决定了字段能不能正常工作:

填写项说明示例
所属表字段挂在哪张数据表上视频主表 sea_vod、视频副表 sea_vod_data、文章表 sea_art
字段名英文小写,模板调用的唯一标识vod_douban
字段标题后台录入界面显示的中文名豆瓣评分
字段类型决定录入控件单行文本 / 多行文本 / 下拉框 / 单选 / 多选 / 图片 / 日期

结论:视频类字段统一挂在 sea_vod 上,不要挂副表,否则前台详情页和列表页取值都会多绕一层。

字段名和字段类型应该怎么选?

字段名的命名规则只有一条:必须以字母开头、只用小写字母和下划线、不能和系统已有字段重名,建议统一带 vod_ 前缀方便识别。

字段类型决定了后台录入时出现什么控件,也决定了数据库字段类型。常见对应关系:

  • 单行文本 → VARCHAR(255),适合短标签、外链、编号
  • 多行文本 → TEXT,适合剧情简介、备注
  • 下拉框 / 单选 → VARCHAR(255),适合「是否完结」这类固定选项
  • 多选 → TEXT,用逗号分隔存储
  • 图片 → VARCHAR(255),存图片地址而不是图片本身
  • 日期 → DATE 或 INT 时间戳

注意点:如果字段已经添加过并在前台有数据,不要再去改字段名,改了之后模板里的调用变量会全部失效,需要重新改模板。

前台模板怎么调用自定义字段?

后台保存字段后,海洋CMS 会自动在对应数据表里 ALTER TABLE 加上这一列,前台模板直接用 {$vod.字段名} 就能输出。

视频详情页(通常是 template/模板名/html/vod_detail.html)写法:

评分:{$vod.vod_douban}

列表页(vod_list.html、index.html 等)同样写 {$vod.vod_douban},但有一个坑:海洋CMS 部分版本的列表查询语句是写死 SELECT 字段的,新字段不在其中。展开 include/ 目录下的查询代码,把 vod_douban 加进那段的 SELECT 列表里,列表页就能读到值了。

后台没有自定义字段入口,怎么手动加?

结论:老版本或精简版后台可能没有可视化入口,此时用 phpMyAdmin 或命令行直接加列即可,效果完全一样。

ALTER TABLE `sea_vod`
ADD `vod_douban` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '豆瓣评分';

执行前先备份数据库。加完之后,后台的视频编辑页不一定自动出现这个输入框——需要同步在后台字段配置表(海洋CMS 里存放自定义字段定义的配置项)里补一条记录,或直接改用「手动填数据 + 模板写死调用」的方式。

加完字段前台不显示,先查这三点

第一,字段加在 sea_vod 还是 sea_vod_data,模板取值路径不同,主表直接 {$vod.xxx}。第二,字段名大小写和拼写是否与模板里完全一致,多一个下划线都不会出值。第三,模板缓存是否更新——海洋CMS 后台「系统 → 更新缓存」点一下,再刷新前台页面。

另外,字段值为空时前台会输出空白,做判断可以写 {if $vod.vod_douban}...{/if},避免页面上出现「评分:」后面跟一片空白。

总结一句:后台加字段 → 填英文小写字段名 → 选准所属表 → 模板用 {$vod.字段名} 调用 → 更新缓存。手动 SQL 只是同一件事的另一条路径,加完之后调用方式没有任何区别。

版权声明:本文来自 GJ论坛《海洋CMS如何添加自定义字段?扩展字段教程。》
原文链接:https://www.gj0.com/thread-163.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~