📋 内容列表
最后更新:2026-10-02
⚠️ 字段位置说明
- 列表页:直接遍历
{{.News}}/{{.Products}}/{{.Cases}}/{{.Jobs}}/{{.CustomItems}}(数组),每条字段无前缀(如.Title)。招聘栏目用{{.Jobs}},自定义内容模型栏目用{{.CustomItems}}(兼容别名{{.Posts}})。 - 详情页:单对象需加前缀(
.News.Title/.Product.Title/.Case.Title) - 价格 Price 仅在详情页有;客户 Client 仅在案例详情页有
📋 可用字段
{{.Title}}标题文本
{{.Description}}描述(产品/案例列表)文本
{{.Summary}}摘要(新闻列表)文本
{{.Image}}主图URL图片
{{.Thumbnail}}缩略图URL图片
{{.CreatedAt}}发布时间(新闻列表有)文本
{{.IsRecommend}}是否推荐(1=推荐)数字
{{.URL}}内容详情链接(系统自动注入,含站点前缀,可直接用于 <a href>)。其形态由后台「配置参数 → URL规则」决定(可带 .html 后缀、用别名命名),模板一律原样用,不要手写 /news/{{.ID}}URL
💻 使用示例
<!-- 产品列表页(products.html) -->
{{range .Products}}
<div class="product-card">
<img src="{{.Image}}" alt="{{.Title}}" loading="lazy">
<h3>{{.Title}}</h3>
<p>{{.Description}}</p>
</div>
{{end}}
<!-- 新闻列表页(news.html) -->
{{range .News}}
<article>
<h2><a href="{{.URL}}">{{.Title}}</a></h2>
<img src="{{.Image}}" alt="{{.Title}}" loading="lazy">
<p>{{.Summary}}</p>
<span>{{formatDate .CreatedAt "Y-m-d"}}</span>
</article>
{{end}}
<!-- 带推荐标签 + 图片兜底(产品) -->
<div class="product-grid">
{{range .Products}}
<a href="{{.URL}}" class="product-card">
<div class="product-img">
{{if .Thumbnail}}<img src="{{.Thumbnail}}" alt="{{.Title}}" loading="lazy">
{{else if .Image}}<img src="{{.Image}}" alt="{{.Title}}" loading="lazy">
{{else}}<img src="https://saas.fjtmy.com/site-static/images/product1.png" alt="{{.Title}}">{{end}}
</div>
{{if .IsRecommend}}<span class="badge">推荐</span>{{end}}
<h3>{{.Title}}</h3>
<p>{{.Description}}</p>
</a>
{{end}}
</div>
⚙️ 自由标签函数(list)
在模板任意位置,通过函数从数据库动态取数(支持数量、排序、栏目筛选)。
<!-- 通用写法:type + num + order + scode + site -->
{{range list "type=news&num=6&order=date&scode=xxx"}}
<a href="{{.URL}}">{{.Title}}</a>
<span>{{.CreatedAt}}</span>
{{end}}
📋 参数说明
| 参数 | 说明 | 默认 |
|---|---|---|
| type | 内容类型:news / product / case / job / page 或自定义模型编码(如 certificate) | - |
| num | 数量 | 10 |
| order | 排序:date(时间) / id(ID) / istop(推荐优先,is_recommend DESC) | id |
| scode | 栏目筛选(分类 link 或 id) | - |
| site | 站点ID(多语言) | 1 |
返回字段:每条记录包含 ID、Title、Summary/Description、Image、Thumbnail、CreatedAt、IsRecommend(是否推荐)、URL(详情页链接,系统自动注入)。可通过 {{if .IsRecommend}} 判断推荐,用 {{.URL}} 跳转详情。
⚠️ 用 list 带 order 或 scode 取产品 / 案例时,结果只含 .Summary,没有 .Description(不带这两个参数时才有)。为兼容两种写法,产品 / 案例列表建议统一用 .Summary。
<!-- 用 list 取推荐内容(推荐排最前) -->
{{range list "type=product&num=6&order=istop"}}
{{if .IsRecommend}}<span class="badge">推荐</span>{{end}}
<a href="{{.URL}}">{{.Title}}</a>
{{end}}
🧩 招聘 / 自定义模型也走 list
招聘内容用 type=job;后台自建的自定义模型用其模型编码(见后台「内容模型」)。返回字段除通用字段外,自定义模型还会带上它在后台定义的扩展字段(字段名即列名)。
<!-- 招聘列表 -->
{{range list "type=job&num=8&order=date"}}
<a href="{{.URL}}">{{.Title}}</a> · {{.Location}} · {{.Salary}}
{{end}}
<!-- 自定义模型(如 certificate 证书)列表 -->
{{range list "type=certificate&num=6"}}
<a href="{{.URL}}">{{.Title}}</a>
{{end}}
Gitl.cn云建站 SaaS