couponslist 优惠券标签

    [基础用法]
标签:couponslist
描述:优惠券列表标签(优惠券插件 weapp/Coupons 提供),获取指定商品「当前可领取」的优惠券列表,一般用在商品详情页。
用法:
    {eyou:couponslist limit='5' id='coupon'}
       {$coupon.coupon_value_text} {$coupon.coupon_name} {$coupon.conditions_use_text}|{$coupon.valid_text}
    {/eyou:couponslist}
属性:
   aid='' 商品ID,在商品内容页中一般不需要指定,系统会自动取当前页面的 aid;在 arclist、list 列表标签里使用时需传入,如 aid='$field.aid';
   limit='' 最多显示的优惠券张数,默认 5,也可用 row='' 或 loop='' 代替;
   id='' 可以任意指定循环里的变量名替代 field,假设 id='coupon',模板调用如 {$field.coupon_name} 变成 {$coupon.coupon_name};
   key='' 循环序号变量名,默认 i,从 1 开始;
   mod='' 每隔N行输出的内容,配合 {eyou:eq name='mod' value='0'} 使用;
   empty='' 没有数据时显示的文案。
可调用的字段:
   {$coupon.coupon_id} 优惠券ID
   {$coupon.coupon_name} 优惠券名称
   {$coupon.coupon_value_text} 优惠力度文案,满减券为「¥10」,满折券为「8.5折」
   {$coupon.conditions_use_text} 使用门槛文案,如「满100元可用」「无门槛」
   {$coupon.valid_text} 有效期文案,如「2026/08/01 - 2026/08/31」「领取当天起30天内有效」
   {$coupon.coupon_form_name} 券形式名称:满减券 / 满折券
   {$coupon.coupon_type_name} 适用范围名称:全部商品 / 指定商品 / 指定分类
   {$coupon.coupon_price} 优惠金额,{$coupon.coupon_discount} 折扣,{$coupon.conditions_use} 使用门槛金额
   {$coupon.coupon_stock} 剩余库存,{$coupon.coupon_intro} 优惠券说明
   {$coupon.geted} 当前登录会员是否已领取该券(1=已领取且未使用,0=未领取;未登录时为空)
   {$coupon.receive_url} 领取优惠券的提交地址(AJAX 提交 coupon_id)
   {$coupon.center_url} 领券中心地址
涉及表字段:
    ey_weapp_coupons(优惠券主表)、ey_weapp_coupons_use(领券记录表)
   只输出满足以下条件的优惠券:已启用(status=1)、未删除(is_del=0)、库存大于0、在领取时间范围内(start_date ~ end_date),并且适用范围包含当前商品(全站通用 / 指定商品含该商品 / 指定分类含该商品所属分类)。
   未安装或未启用优惠券插件时,标签不输出任何内容。

-------------------------------效果展示--------------------------------
1,在商品详情页输出可领取的优惠券,并支持点击领取
模板调用代码(css样式请自行填充)
      {eyou:couponslist limit='1' id='chd'}
          <div class="wct-hd">优惠券 <a href="{$chd.center_url}" target="_blank">更多优惠券</a></div>
          <div class="wct-list">
      {/eyou:couponslist}
      {eyou:couponslist limit='5' id='coupon'}
          <div class="wct-item">
              <span class="wct-price">{$coupon.coupon_value_text}</span>
              <span class="wct-info">{$coupon.coupon_name}<br />{$coupon.conditions_use_text}|{$coupon.valid_text}</span>
              {eyou:if condition='!empty($coupon.geted)'}
                  <span class="wct-btn" style="background:#ccc;">已领取</span>
              {eyou:else /}
                  <button type="button" class="wct-btn" onclick="WeappCouponsTagReceive({$coupon.coupon_id});">领取</button>
              {/eyou:if}
          </div>
      {/eyou:couponslist}
      {eyou:couponslist limit='1' id='cft'}
          </div>
          <script>
              function WeappCouponsTagReceive(coupon_id) {
                  jQuery.ajax({ url: "{$cft.receive_url}", data: {coupon_id: coupon_id, _ajax: 1}, type: 'post', dataType: 'json',
                      success: function (res) { alert(res.msg); if (1 == res.code) { window.location.reload(); } },
                      error: function () { window.location.href = "{$cft.center_url}"; } });
              }
          </script>
      {/eyou:couponslist}
说明:标签是「有券才输出」的循环标签,所以头部(标题、列表容器开始)用 limit='1' 包一次、尾部(列表容器结束、JS)再用 limit='1' 包一次,这样没有可领券时整块区域自动隐藏,不会出现空标题。
   领取接口要求会员已登录,未登录时接口会返回提示,可在 res.code 不为 1 时引导跳转到登录页或 {$coupon.center_url}。



文档最后更新时间:2026-08-11 10:15:00

文档
目录

深色
模式

切换
宽度