商品列表
适用范围:全站可用(指定栏目编码时),也可直接用于商城列表页
标签作用:用于调取上架商品列表,支持指定栏目、数量、推荐筛选与分页
指定栏目商品列表
// * 表示不限制栏目,支持变量或写死栏目编码
{shop:goods scode="*" num="12" alias="goods"}
<a href="{$goods.link}">{$goods.title}</a>
{/shop:goods}当前栏目商品列表
注意
不指定 scode 时,取当前栏目编码;在非列表页且没有栏目上下文时,输出全部上架商品。
{shop:goods}
<a href="{$goods.link}">{$goods.title}</a>
{/shop:goods}列表页分页调用
列表页不写num时,标签会复用页面已经分页好的商品列表,
因此分页地址与筛选参数都能正确保留。
{shop:goods}
<div>{$goods.title} - {:currency($goods['min_price'], true)}</div>
{/shop:goods}
{$page|raw} // 分页条关闭分页 / 自定义数量
只要写了num,标签就会重新查询,不再跟随页面分页。
适合做“推荐商品”“相关商品”等固定数量的区块。
// 固定取 4 条,不受分页影响
{shop:goods num="4" scode="*" alias="recommendGoods"}
<a href="{$recommendGoods.link}">{$recommendGoods.title}</a>
{/shop:goods}推荐商品
{shop:goods num="8" isrecommend="1" alias="hotGoods"}
<a href="{$hotGoods.link}">{$hotGoods.title}</a>
{/shop:goods}控制参数
| 参数 | 描述 |
|---|---|
scode | 栏目编码,支持 *(全部)、写死值、$变量 或 :表达式;不写则取当前栏目 |
num | 数量,写了则重新查询并关闭页面分页;不写则复用页面分页列表 |
alias | 循环变量名,默认 goods |
key | 计数变量名,默认 i,在循环内用 {$i} 调用 |
empty | 无数据时输出的内容 |
isrecommend | 是否只取推荐商品,1 为推荐,0 为非推荐,支持变量 |
调用标签
| 标签 | 描述 |
|---|---|
{$goods.goods_id} | 商品主键(交易表 ID) |
{$goods.id} | CMS 内容 ID |
{$goods.aucode} | CMS 内容桥接键 |
{$goods.content_id} | CMS 内容 ID |
{$goods.scode} | 栏目编码 |
{$goods.category_name} | 栏目名称 |
{$goods.title} | 商品标题 |
{$goods.subtitle} | 商品副标题 |
{$goods.ico} | 缩略图(已处理 CDN) |
{$goods.pics} | 多图,逗号分隔(已处理 CDN) |
{$goods.filename} | 内容别名(URL 名称) |
{$goods.sn} | 商品货号 |
{$goods.brand_id} | 品牌 ID |
{$goods.brand_name} | 品牌名称 |
{$goods.brand} | 品牌名称(同 brand_name) |
{$goods.min_price} | 最低价,格式化:{:currency($goods['min_price'], true)} |
{$goods.max_price} | 最高价 |
{$goods.market_price} | 市场价 |
{$goods.total_stock} | 总库存 |
{$goods.weight} | 重量 |
{$goods.unit} | 单位(按当前语言) |
{$goods.sku_id} | 默认可加购 SKU ID,为 0 表示无可用 SKU |
{$goods.is_recommend} | 是否推荐 |
{$goods.is_hot} | 是否热销 |
{$goods.is_new} | 是否新品 |
{$goods.is_on_sale} | 是否上架 |
{$goods.is_free_shipping} | 是否包邮 |
{$goods.default_sku_id} | 默认 SKU ID |
{$goods.sort} | 排序 |
{$goods.sorting} | CMS 内容排序 |
{$goods.link} | 商品链接 |
{$goods.ext_***} | 调取扩展字段内容 |
{$i} | 计数 1 开始(变量名由 key 参数决定) |
{$page} | 分页 HTML |
{$shop_goods_total} | 当前列表总数 |
使用示例
{shop:goods num="8" scode="*" alias="goods" key="i" empty="暂无商品"}
<div class="product">
<a href="{$goods.link}">
<img src="{$goods.ico}" alt="{$goods.title}">
<h3>{$goods.title}</h3>
<p>{$goods.subtitle}</p>
<span>{:currency($goods['min_price'], true)}</span>
</a>
{if $goods.sku_id}
<button onclick="shopAddToCart({$goods.sku_id})">加入购物车</button>
{/if}
</div>
{/shop:goods}更新时间:2026-09-19
更新时间:2026-09-19 17:10:15
BadouCMS