ViewModel

最后更新时间:2026-05-08 10:00:00

1. 模型定位

ViewModel 是前台模板的主模型。页面渲染时,模板优先从这个对象读取数据;首页、栏目页、详情页、搜索页、标签页都会复用它,只是字段填充方式不同。

2. 字段表

字段名类型字段说明模板用途
uristring当前请求 URI判断当前页面和生成导航状态
site*conf.SiteOption站点配置输出站点标题、Logo、SEO 信息
themes_extmap[string]any主题扩展数据读取主题级配置
typestring页面类型区分 home、category、article、page 等场景
titlestring页面标题输出页面主标题和 TDK
descriptionstring页面描述输出摘要和 TDK
keywordsstring页面关键词输出关键词 meta
list[]*ContentCardVM列表数据列表页、首页、搜索页、标签页循环渲染
pagerPagerVM分页对象控制分页组件显示
columns[]*models.Column全站栏目树用于头部导航、侧栏菜单、站点地图
nav[]*models.Column面包屑用于当前位置导航
single*ColumnVM单页模型单页模板读取栏目正文和扩展配置
content*ContentCardVM内容详情详情页主体数据
current_column*models.Column当前栏目用于栏目页和详情页上下文判断
request*RequestData请求信息读取路径、参数、UA、来源页
prev*ContentCardVM上一篇详情页上一篇跳转
next*ContentCardVM下一篇详情页下一篇跳转

3. 使用说明

这个模型是前台模板的入口,不是某一个页面独占的数据。函数返回的列表、详情、栏目、分页,最后都会被汇总到这里。