商城页: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 在没值时是空串,用之前要判一下。
