Appearance
自定义页面
自定义页面用于创建除系统内置页面以外的任意页面,例如:
- 关于我们、免责声明、隐私政策等声明类页面
- 顶部 / 底部自定义导航菜单
- 绑定指定模型数据的内容页面
自定义页面存储在 aod_dynamic_page 集合中,支持软删除与主题差异化展示。
创建自定义页面
在后台「自定义页面 → 新增」中填写以下信息:
| 字段 | 说明 |
|---|---|
title | 页面标题(唯一,不能重复) |
diyname | 分组标识,如 header(顶部菜单)、event(事件)、agreement(声明) |
type_ids | 归属分类(关联内容分类) |
seotitle | SEO 标题 |
keywords | SEO 关键词(数组) |
description | SEO 描述 |
content | 页面正文(富文本) |
image | 页面封面图 |
route | 访问路由 |
model_name | 绑定模型 |
tpl | 视图模板,默认 dynamic/index |
theme | 绑定主题,默认 ["all"],可在不同主题下展示不同数据 |
sort | 排序 |
isguest | 游客是否可见 |
status | 状态,1 启用,0 禁用 |
访问路由
自定义页面通过 route 字段决定前台访问地址:
- 填写
route后,前台访问地址为网站地址 + route + .html。 - 例如
route填写about,前台访问/about.html。 - 若
route以http开头,则直接作为外链跳转。
后台列表通过 route 自动拼接 .html 生成访问链接。
绑定模型
自定义页面可以绑定一个模型(model_name),用于在前台渲染该模型的数据列表或详情。绑定的模型需在系统中已注册,通常用于构建内容型页面。
自定义数据
data 字段为自定义对象,可在前台模板中按需读取,用于存放非富文本的结构化数据。
前台读取
前台主题中可通过以下方式读取自定义页面数据:
获取自定义页面内容(route 对应页面的指定字段)js
// 伪代码示例:按 route 获取页面字段
getCustomContent(route, field)返回结果为该 route 页面 field 字段的值,页面不存在时返回空字符串。
相关接口
| 接口 | 方法 | 说明 |
|---|---|---|
/admin/dynamic/index | GET | 自定义页面列表 |
/admin/dynamic/create | POST | 新增自定义页面 |
/admin/dynamic/update | POST | 编辑自定义页面 |
/admin/dynamic/delete | POST | 删除自定义页面 |
NOTE
自定义页面的 theme 字段支持多主题,切换主题后不同主题可展示各自的页面数据,适合多风格站点。