原系统中奖品商品选择存在两个模板:
selected-goods-template
:简单的商品显示模板(小图片 + 名称 + 删除按钮)prize-goods-template
:详细的商品显示模板(完整商品信息)为了统一界面和提升用户体验,删除了简单的selected-goods-template
,统一使用详细的prize-goods-template
。
删除的模板:selected-goods-template
<!-- 已删除的模板 -->
<script type="text/html" id="selected-goods-template">
<div class="selected-goods-item" style="padding: 8px; border: 1px solid #ddd; border-radius: 4px; background: #f9f9f9;">
<img src="<%=image%>" style="width: 30px; height: 30px; vertical-align: middle; margin-right: 8px;">
<span><%=name%></span>
<input type="hidden" name="goods_id" value="<%=id%>">
<button type="button" class="btn btn-xs btn-default pull-right" onclick="$(this).closest('.selected-goods-item').remove();">删除</button>
</div>
</script>
现在使用的模板:prize-goods-template
显示的商品信息包括:
修改的函数:openGoodsSelector
修改前:
// 使用简单模板
var html = Template('selected-goods-template', {
image: imageUrl,
name: goods.name,
id: goods.id
});
修改后:
// 使用详细模板
var processedGoods = {
id: goods.id,
name: goods.name || goods.title,
title: goods.title || goods.name,
image: goods.image ? Fast.api.cdnurl(goods.image) : '',
price: goods.price || goods.sellprice || '',
goods_sn: goods.goods_sn || '',
spec_type: goods.spec_type,
category: goods.category,
type_name: Controller.api.getGoodsTypeName(goods),
type_text: Controller.api.getGoodsTypeText(goods)
};
var html = Template('prize-goods-template', processedGoods);
goods_id
(与奖品表单一致).remove-prize-goods
类updateSelectedGoods
函数中的其他模板处理逻辑application/admin/view/lottery/activity/scripttpl.html
selected-goods-template
模板prize-goods-template
中的表单字段名称public/assets/js/backend/lottery/activity.js
openGoodsSelector
函数使用prize-goods-template
goods_id