苹果CMS订单记录调用教程
苹果CMS V10 用户中心提供充值订单记录功能,用户可以在订单页面查看历史充值订单,包括订单编号、订单号、支付状态、充值金额、获得积分以及下单时间等信息。
对于尚未完成支付的订单,用户还可以通过订单列表重新进入支付页面,继续完成订单支付。
充值订单页面文件
用户充值订单页面模板文件位于:
html/user/orders.html
订单数据以 $list 数组形式传递到模板中,可以使用 volist 对订单数据进行循环遍历。
获取用户充值订单记录示例
<table width="870" border="0" cellspacing="1" cellpadding="0" class="table">
<tr>
<td width="66" height="36" align="center" valign="middle" bgcolor="#f7f7f7">选择</td>
<td width="60" align="center" valign="middle" bgcolor="#f7f7f7">编号</td>
<td width="300" align="center" valign="middle" bgcolor="#f7f7f7">单号</td>
<td width="60" align="center" valign="middle" bgcolor="#f7f7f7">状态</td>
<td width="60" align="center" valign="middle" bgcolor="#f7f7f7">金额</td>
<td width="60" align="center" valign="middle" bgcolor="#f7f7f7">积分</td>
<td width="150" align="center" valign="middle" bgcolor="#f7f7f7">时间</td>
<td width="80" align="center" valign="middle" bgcolor="#f7f7f7">操作</td>
</tr>
{volist name="list"}
<tr>
<td height="36" align="center" valign="middle" bgcolor="#FFFFFF"><input name="ids[]" type="checkbox" value="{$vo.order_id}"></td>
<td align="center" valign="middle" bgcolor="#FFFFFF">{$vo.order_id}</td>
<td align="left" valign="middle" bgcolor="#FFFFFF" class="pad">{$vo.order_code}</td>
<td align="center" valign="middle" bgcolor="#FFFFFF">{if condition="$vo.order_status eq 1"}已支付{else}未支付{/if}</td>
<td align="center" valign="middle" bgcolor="#FFFFFF">{$vo.order_price}</td>
<td align="center" valign="middle" bgcolor="#FFFFFF">{$vo.order_points}</td>
<td align="center" valign="middle" bgcolor="#FFFFFF">{$vo.order_time|mac_day}</td>
<td align="center" valign="middle" bgcolor="#FFFFFF">{if condition="$vo.order_status eq 0"}<a href="{:url('user/pay')}?order_code={$vo.order_code}" class="delete">支付</a>{/if}</td>
</tr>
{/volist}
</table>订单数据字段说明
$list:用户充值订单数据数组,通过 {volist name="list"} 进行循环遍历。
$vo.order_id:订单记录的 ID,用于标识当前订单。
$vo.order_code:充值订单号,可用于进入对应的支付页面。
$vo.order_status:订单支付状态。示例中使用 1 表示已支付,其他情况下显示为未支付。
$vo.order_price:当前充值订单的金额。
$vo.order_points:当前订单对应的积分数量。
$vo.order_time:订单创建时间,通过 mac_day 格式化后显示。
未支付订单再次支付
示例代码通过判断 $vo.order_status eq 0 来识别未支付订单:
{if condition="$vo.order_status eq 0"}
<a href="{:url('user/pay')}?order_code={$vo.order_code}" class="delete">支付</a>
{/if}当订单状态为未支付时,页面会显示“支付”按钮,并通过 order_code 将当前订单号传递给 user/pay 页面,用户可以重新进入支付流程。
已经完成支付的订单不会显示该按钮,从而避免在订单列表中重复显示支付操作。
模板调用逻辑
整个订单列表的调用流程比较简单:首先由用户中心获取当前用户的充值订单数据,并将订单数组传递给模板;模板通过 volist 遍历 $list,然后利用 $vo 获取当前订单的数据。
页面根据 order_status 判断订单状态,同时显示订单金额、积分和时间。当订单尚未支付时,再生成对应的支付链接。
使用注意事项
不同苹果CMS V10 版本的用户中心控制器、订单字段以及支付逻辑可能存在差异。如果模板中的字段与当前程序版本不一致,应以当前版本实际返回的订单数据为准。
另外,订单状态判断属于支付业务逻辑的一部分,修改 order_status 的判断条件前,应确认当前版本中不同状态值的具体含义,避免将已经支付或异常订单错误显示为待支付状态。
总结
通过 html/user/orders.html 可以实现苹果CMS V10 用户充值订单记录的展示。利用 $list 和 volist 可以循环输出订单编号、订单号、支付状态、金额、积分和时间等信息,同时可以针对未支付订单提供再次支付入口。
