{{include "header.html"}} {{include "nav.html"}} {{/* 商品列表(product.html)—— Type 仍是 category,模板名由栏目的 template 决定。 结构:面包屑 → 栏目头(名称/描述/商品数)→ 子栏目快捷胶囊 → ext 筛选条(栏目里 indexed 的字段自动成维度)→ 商品网格 → 分页 ⚠️ 不提供排序控件:后端列表接口没有 sort/order 参数,做出来就是个点了没反应的 假控件。筛选走 ColumnExtFilter,URL 由后端生成(保留其他条件、重置页码)。 ⚠️ 列表页 .Single.Children 是空的(子栏目只在 .Columns 树里填充), 所以子分类胶囊要先按 .Single.Slug 在 .Columns 里定位当前栏目再取 Children。 */}} {{if index .ThemesExt "show_breadcrumb"}} {{if .Nav}} {{end}} {{end}}

{{if .Single}}{{.Single.Name}}{{else}}全部商品{{end}}

{{if .Single}} {{if .Single.Description}}

{{.Single.Description}}

{{end}} {{else}} {{/* ⚠️ 支付方式文案必须判 .ShopCODEnabled:COD 是独立于商城总开关的配置, 商城开着也可能单独关掉,写死「支持货到付款」就是无条件宣传。 */}} {{if .ShopCODEnabled}}

支持在线下单与{{.ShopCODTitle}}{{if .ShopCODDesc}},{{.ShopCODDesc}}{{end}}

{{else}}

在线下单,配送与付款方式以下单页为准

{{end}} {{end}}
{{/* ------------------------------------------------ 子分类快捷胶囊 */}} {{$slug := ""}} {{with .Single}}{{$slug = .Slug}}{{end}} {{$curCol := ""}} {{if .Columns}} {{range .Columns}} {{if and (ne $slug "") (eq .Slug $slug)}}{{$curCol = .}}{{end}} {{end}} {{end}} {{if $curCol}} {{if $curCol.Children}}
全部 {{range $curCol.Children}} {{.Name}} {{end}}
{{end}} {{end}} {{/* ---------------------------------------------------- ext 筛选条 */}} {{/* 筛选维度 = 当前栏目 fields 里非空 key 的扩展字段(无需额外开关)。 URL 由后端生成:保留其他筛选条件、重置页码、兼容扁平 query 与 ext JSON —— 模板绝不能自己拼 query,否则多维度组合会互相覆盖。 */}} {{if and .CurrentColumn .Request}} {{$filters := ColumnExtFilter .CurrentColumn .Request}} {{if $filters}}
{{range $filters}}
{{.Label}}
{{range .Options}} {{.Label}} {{end}}
{{end}}
{{end}} {{end}} {{if .List}}
{{range .List}}
{{if .Img}} {{.Title}} {{else}}
暂无图片
{{end}} {{if .Ext}} {{$badge := index .Ext "badge"}} {{if $badge}}{{$badge}}{{end}} {{end}}

{{.Title}}

{{/* 列表卡同样要有评分:对标里商品卡片必备的评分 / 评价数信任信号 */}} {{if .Ext}} {{$rating := index .Ext "rating"}} {{$reviews := index .Ext "reviews"}} {{if $rating}}
{{$rating}} {{if $reviews}}({{$reviews}} 条评价){{end}}
{{end}} {{end}} {{if .Description}}

{{StrSub .Description 60}}

{{end}}
{{if .Price}}
¥{{printf "%.2f" .Price}}
{{end}} {{/* 稀缺信号:仅在真实库存 1-5 且非「不限库存」(StockLimit=2) 时渲染,不造假 */}} {{if and (ne .StockLimit 2) (gt .Stock 0) (le .Stock 5)}}
仅剩 {{.Stock}} 件
{{end}} {{if gt .Sales 0}}
已售 {{.Sales}} 件
{{end}}
{{if $.ShopEnabled}} {{if and (ne .StockLimit 2) (le .Stock 0)}} 已售罄 {{else}} {{end}} {{else}} 查看详情 {{end}}
{{end}}
{{if .Pager.Enabled}}
{{end}} {{else}}

暂无商品

{{if $curCol}}返回全部商品 →{{end}}
{{end}}
{{include "footer.html"}} {{include "js.html"}}