下图是一个朋友反馈的帖子中图片
经查,官方的代码的时间判断逻辑有点不对头造成的,判断代码在/template/index_style/default/party/content/pc_show.htm中
<div class="butters"> {if $info['begin_time']&&strtotime($info['begin_time'])>time()} <span><button style="background:#ccc;">活动还没开始</button></span> {elseif $info['end_time']&&strtotime($info['end_time'])<time()} <span><button style="background:#ccc;">活动已经结束了</button></span> {else /} <span><button onclick="BuyThisShop(2)">报名参加</button></span> {/if} <!--<em><button onclick="BuyThisShop(1)">加入购物车</button></em>--> </div>
按照正常逻辑,只要活动未结束 且在允许报名时间内,活动一经发出,即应允许报名,除非是活动限制报名开始时间和结束时间。官方原代码中未对报名时间join_time进行判断是不对的,所以造成了上述无法点击报名的情况。
改写代码如下:原则,使用了嵌套判断语句,第一个if 判断活动是否结束,如果未结束,则再判断是否在允许的报名时间内,否则不允许报名,仅此而已,如果活动结束了,更不用谈报名了。官方原来的判断逻辑有些不对。
<div class="butters">
{if strtotime($info['begin_time'])>time()}
<span><button style="background:#ccc;">活动还没开始</button></span>
{if strtotime($info['join_endtime'])>time()}
<span><button onclick="BuyThisShop(2)">报名参加</button></span>
{else /}
<span><button style="background:#ccc;">报名已截止</button></span>
{/if}
{else /}
<span><button style="background:#ccc;">活动已经结束了</button></span>
{/if}
</div>
使用后的效果如下:
试发一个马上报名时间快结束的,看看情况
时间一到,就无法报名了,显示报名已截止
这些都是小问题,希望官方更正。