# {eyou:coupon} 标签调用方法详细说明
## 一、基本语法
```
{eyou:coupon id='field' 其他属性}
<!-- 循环内容 -->
{/eyou:coupon}
```
## 二、支持的属性
属性名 类型 默认值 说明
id 字符串 field 循环变量名,用于在标签内部访问优惠券数据
page 数字 1 页码,用于分页查询 pagesize 数字 10 每页显示数量
users_id 数字 空 用户ID,用于查询用户已领取的优惠券
coupon_id 数字 空 优惠券ID,用于查询特定优惠券
aid 数字 空 商品ID,用于查询可用于该商品的优惠券
coupon_type 数字 空 优惠券类型,用于筛选特定类型的优惠券
titlelen 数字 100 优惠券标题长度截取
infolen 数字 160 优惠券描述信息长度截取
orderby 字符串 空 排序字段,如 coupon_price 、 start_date 等 ordermode 字符串 desc 排序模式,可选 asc (升序)或 desc (降序) orderway 字符串 空 排序方式,与 orderby 配合使用
empty 字符串 空 无数据时显示的内容
key 字符串 i 循环键名变量
mod 数字 2 循环取模值,用于实现奇偶行样式
## 三、可用的字段
字段名 类型 说明
coupon_id 数字 优惠券ID
coupon_name 字符串 优惠券名称
coupon_price 数字 优惠券金额(满减券)
coupon_discount 数字 优惠券折扣(折扣券
conditions_use 数字 使用条件(满多少元可用)
coupon_form 数字 优惠券形式:1=满减券,2=折扣券
coupon_form_name 字符串 优惠券形式名称
start_date 字符串 开始日期
end_date 字符串 结束日期
geted 数字 是否已领取(1=已领取,0=未领取)
## 四、使用示例
### 示例1:基本用法
```
{eyou:coupon id='field' page='1' pagesize='10'} <div class="coupon-item"> <!-- 优惠券名称 --> <h3>{$field.coupon_name}</h3> <!-- 优惠券面额/折扣 --> <div class="coupon-price"> {if condition="$field.coupon_form eq 1"} ¥{$field.coupon_price} {elseif condition="$field.coupon_form eq 2"} {$field.coupon_discount}折 {/if} </div> <!-- 使用条件 --> <div class="coupon-condition">满¥{$field.conditions_use}元可用</div> <!-- 有效期 --> <div class="coupon-date">有效期:{$field.start_date} 至 {$field.end_date}</div> <!-- 领取状态 --> <div class="coupon-status"> {if condition="$field.geted eq 1"} 已领取 {else} 未领取 {/if} </div> </div> {/eyou:coupon}
```
### 示例2:带筛选条件
```
{eyou:coupon id='field' page='1' pagesize='5' coupon_type='1' orderby='coupon_price' ordermode='desc' empty='暂无优惠券'}
<div class="coupon-item">
<div class="coupon-name">
{$field.coupon_name}</div>
<div class="coupon-price">
¥{$field.coupon_price}</div>
<div class="coupon-condition">满
¥{$field.conditions_use}元可用</
div>
</div>
{/eyou:coupon}
```
### 示例3:查询用户已领取的优惠券
```
{eyou:coupon id='field' page='1' pagesize='10' users_id='$users_id'}
<div class="coupon-item">
<div class="coupon-name">
{$field.coupon_name}</div>
<div class="coupon-price">
¥{$field.coupon_price}</div>
<div class="coupon-date">
{$field.start_date} 至 {$field.
end_date}</div>
<div class="coupon-status">已领
取</div>
</div>
{/eyou:coupon}
```
### 示例4:带奇偶行样式
```
{eyou:coupon id='field' page='1' pagesize='10' key='i' mod='2'}
<div class="coupon-item {if condition="$mod eq 1"}even{else}odd{/if}">
<h3>{$field.coupon_name}</h3>
<div class="coupon-price">
¥{$field.coupon_price}</div>
<div class="coupon-condition">满
¥{$field.conditions_use}元可用</
div>
</div>
{/eyou:coupon}
```
## 五、高级用法
### 1. 分页查询
```
<!-- 第1页,每页显示5条 -->
{eyou:coupon id='field' page='1' pagesize='5'}
<!-- 内容 -->
{/eyou:coupon}
<!-- 第2页,每页显示5条 -->
{eyou:coupon id='field' page='2' pagesize='5'}
<!-- 内容 -->
{/eyou:coupon}
```
### 2. 多条件组合查询
```
{eyou:coupon id='field' page='1' pagesize='10' aid='123' users_id='456' coupon_type='1'}
<!-- 内容:查询商品ID为123的、用户ID为456的、类型为1的优惠券 -->
{/eyou:coupon}
```
### 3. 按不同字段排序
```
<!-- 按优惠券金额降序 -->
{eyou:coupon id='field' page='1' pagesize='10' orderby='coupon_price' ordermode='desc'}
<!-- 内容 -->
{/eyou:coupon}
<!-- 按开始日期升序 -->
{eyou:coupon id='field' page='1' pagesize='10' orderby='start_date' ordermode='asc'}
<!-- 内容 -->
{/eyou:coupon}
```
## 六、注意事项
1. 性能优化 :对于大数据量的优惠券查询,建议合理设置 pagesize 参数,避免一次性加载过多数据。
2. 用户ID :当需要查询用户已领取的优惠券时,需要传递 users_id 参数。
3. 商品ID :当需要查询可用于特定商品的优惠券时,需要传递 aid 参数。
4. 排序 :当使用 orderby 参数时,建议同时设置 ordermode 参数以明确排序方向。
5. 空数据处理 :使用 empty 参数可以在无数据时显示友好的提示信息。
6. 字段访问 :在标签内部,通过 {$id.字段名} 的方式访问优惠券数据,其中 id 是你设置的循环变量名。
## 七、完整示例
### 优惠券列表展示
```
<div class="coupon-list"> <h2>可用优惠券</h2> {eyou:coupon id='coupon' page='1' pagesize='10' users_id='$users_id' orderby='coupon_price' ordermode='desc' empty='暂无可用优惠券'} <div class="coupon-item"> <!-- 优惠券头部:名称+类型 --> <div class="coupon-header"> <h3>{$coupon.coupon_name}</h3> <span class="coupon-form">{$coupon.coupon_form_name}</span> </div> <!-- 优惠券主体:面额/折扣+使用条件 --> <div class="coupon-body"> <div class="coupon-value"> {if condition="$coupon.coupon_form eq 1"} ¥{$coupon.coupon_price} {elseif condition="$coupon.coupon_form eq 2"} {$coupon.coupon_discount}折 {/if} </div> <div class="coupon-condition">满¥{$coupon.conditions_use}元可用</div> </div> <!-- 优惠券底部:有效期+领取状态 --> <div class="coupon-footer"> <span class="coupon-date">有效期:{$coupon.start_date} - {$coupon.end_date}</span> {if condition="$coupon.geted eq 1"} <span class="coupon-status received">已领取</span> {else} <span class="coupon-status not-received">未领取</span> {/if} </div> </div> {/eyou:coupon} </div>
<div class="coupon-list"> <h2>可用优惠券</h2> {if condition="$users_id neq ''"} {eyou:coupon id='coupon' page='1' pagesize='10' users_id='$users_id' orderby='coupon_price' ordermode='desc' empty='暂无可用优惠券'} <div class="coupon-item"> <div class="coupon-header"> <h3>{$coupon.coupon_name}</h3> <span class="coupon-form">{$coupon.coupon_form_name}</span> </div> <div class="coupon-body"> <div class="coupon-value"> {if condition="$coupon.coupon_form eq 1"} ¥{$coupon.coupon_price} {elseif condition="$coupon.coupon_form eq 2"} {$coupon.coupon_discount}折 {/if} </div> <div class="coupon-condition">满¥{$coupon.conditions_use}元可用</div> </div> <div class="coupon-footer"> <span class="coupon-date">有效期:{$coupon.start_date} - {$coupon.end_date}</span> {if condition="$coupon.geted eq 1"} <span class="coupon-status received">已领取</span> {else} <span class="coupon-status not-received">未领取</span> {/if} </div> </div> {/eyou:coupon} {else} <div class="coupon-empty-tip">请登录后查看您的优惠券</div> {/if} </div>
```
## 八、常见问题
### Q: 如何判断优惠券是否已领取?
A: 使用 {$field.geted} 字段,1表示已领取,0表示未领取。
### Q: 如何区分满减券和折扣券?
A: 使用 {$field.coupon_form} 字段,1表示满减券,2表示折扣券。
### Q: 如何设置分页?
A: 通过 page 和 pagesize 属性设置。
### Q: 如何查询特定商品的优惠券?
A: 通过 aid 属性传递商品ID。
### Q: 如何查询特定用户的优惠券?
A: 通过 users_id 属性传递用户ID。
{eyou:coupon id='field' page='1' pagesize='10'}
<div class="coupon-item">
<div class="coupon-name">{$field.coupon_name}</div>
<div class="coupon-price">{$field.coupon_price}</div>
<div class="coupon-condition">满{$field.conditions_use}元可用</div>
<div class="coupon-date">{$field.start_date} 至 {$field.end_date}</div>
</div>
{/eyou:coupon}
功能特点 :
1. 与系统其他标签保持一致的调用方式
2. 支持分页功能
3. 支持多种排序方式
4. 支持标题和信息长度截取
5. 支持空数据处理
6. 支持循环取模功能
7. 支持按优惠券类型筛选
8. 支持按商品ID和用户ID查询
调用示例:
{eyou:coupon id='field' page='1' pagesize='10'}
<div class="coupon-item">
<div class="coupon-name">{$field.coupon_name}</div>
<div class="coupon-price">{$field.coupon_price}</div>
<div class="coupon-condition">满{$field.conditions_use}元可用</div>
<div class="coupon-date">{$field.start_date} 至 {$field.end_date}</div>
</div>
{/eyou:coupon}
高级调用方法二:
{eyou:coupon id='field' page='1' pagesize='10' coupon_type='1' titlelen='50' orderby='coupon_price' ordermode='desc' empty='暂无优惠券'}
<div class="coupon-item">
<div class="coupon-name">{$field.coupon_name}</div>
<div class="coupon-price">{$field.coupon_price}</div>
<div class="coupon-date">{$field.start_date} 至 {$field.end_date}</div>
</div>
{/eyou:coupon}
<div class="coupon-list">
<h2>可用优惠券</h2>
{eyou:coupon id='coupon' page='1' pagesize='10' users_id='{$users_id}' orderby='coupon_price' ordermode='desc' empty='暂无可用优惠券'}
<div class="coupon-item">
<div class="coupon-header">
<h3>{$coupon.coupon_name}</h3>
<span class="coupon-form">{$coupon.coupon_form_name}</span>
</div>
<div class="coupon-body">
<div class="coupon-value">
{if condition="$coupon.coupon_form eq 1"}
¥{$coupon.coupon_price}
{elseif condition="$coupon.coupon_form eq 2"}
{$coupon.coupon_discount}折
{/if}
</div>
<div class="coupon-condition">满¥{$coupon.conditions_use}元可用</div>
</div>
<div class="coupon-footer">
<span class="coupon-date">有效期:{$coupon.start_date} - {$coupon.end_date}</span>
{if condition="$coupon.geted eq 1"}
<span class="coupon-status received">已领取</span>
{else}
<span class="coupon-status not-received">未领取</span>
{/if}
</div>
</div>
{/eyou:coupon}
</div>
未经允许不得转载! 作者:小秋同学,转载或复制请以超链接形式并注明出处学习吧_一个不错的学习网站。
原文地址:《易优优惠卷coupon标签使用说明》发布于:2026-02-11 21:38:38




