首页 / 建站手册 / 商城页:shop_*.html

商城页:shop_*.html

从商品列表到下单支付的七张页面,每张拿到哪些变量、用哪个标签。

模板文件:shop_list.html shop_cart.html shop_checkout.html shop_addr.html shop_orders.html shop_order.html(商品详情的模板是详情页 detail.html)

商城是一整条链路:列表 → 加购物车 → 结算 → 填地址 → 下单 → 付款 → 查订单。 每一屏都有自己那一组变量,下面按页面列全。

shop_list.html 商品列表

{title}页面标题(栏目名或"全部商品")
{shopItems}商品数组,配 {naicha:loop from="shopItems" as="s"},行内取 {s.title} 等
{hasItems}'1'/'0',有没有商品
{listTotal} {listPage} {listPages}总数 / 当前页 / 总页数
{shopCid} 当前商品分类 id
{shopBase} {shopCartN}商城根地址 / 购物车件数

shop_cart.html 购物车

{shopRows}购物车行数组,行内有 cart_id item_id qty spec title price sum buyable stock_text
{hasRows}购物车空不空
{shopSum} {shopQty}合计金额(已格式化)/ 总件数

shop_checkout.html 结算

{shopRows} {shopSum} {shopQty}同购物车
{shopAddr} 收货地址数组
{hasAddr} {shopAddrId}有没有地址 / 选中的地址 id
{shopFreight}运费(已格式化)

shop_addr.html 收货地址

{addrRows} 地址数组
{hasAddr} 有没有地址
{editAddr} {isEdit}正在编辑的那条(空则渲染成空串)/ 是不是编辑态
{backCheckout}回结算页的地址

shop_orders.html 我的订单

{shopOrders}订单数组
{hasOrders} 有没有订单
{listTotal} {listPage} {listPages}分页
{shopSt} 当前状态筛选值

shop_order.html 订单详情 / 付款

{order.…}订单行:order_no amount status created_at 等
{orderLines}订单里的商品行,配 {naicha:loop}
{payReady} {payAlipay} {payWechat}支付总开关 / 支付宝 / 微信
{showWx} {wxQr}是否显示微信二维码 / 二维码内容
{paidLinks} {hasPaidLinks}付款后的下载/查看入口

任意页面放几件商品:{naicha:shop}

{naicha:shop num="4" order="sort desc"}
  <a class="shop-card" href="{shop.url}">
    {naicha:if var="shop.thumb_url" notempty="1"}<img src="{shop.thumb_url}" alt="{shop.title}">{/naicha:if}
    <h3>{shop.title}</h3>
    <span>{shop.price}</span>
    <span>{shop.stock_text}</span>
  </a>
{/naicha:shop}
⚠️ 商城关掉时 {naicha:shop} 整块不输出(不是输出一个空列表)—— 所以首页那一节会自然消失,不会露出空框。

⚠️ 商品行里的 item_id 才是"加购物车"要用的 id,不是内容 id。

⚠️ shop.market(划线价)和 shop.sold_text 在没值时是空串,用之前要判一下。
没找到答案? 可以在 联系我们 留言说明使用场景,我们会补充进文档。