KingCMS接触之:模块开发

以一个秒杀产品小应用为演示:

1.模板:

倒计时提示的JS代码

<mce:script type="text/javascript"><!-- var the_s=new Array(); function $(id){ return document.getElementById(id); } function view_time(the_s_index,objid){ if(the_s[the_s_index]>=0){ var the_D=Math.floor((the_s[the_s_index]/3600)/24) var the_H=Math.floor((the_s[the_s_index]-the_D*24*3600)/3600); var the_M=Math.floor((the_s[the_s_index]-the_D*24*3600-the_H*3600)/60); var the_S=(the_s[the_s_index]-the_H*3600)%60; html = "还剩 "; //if(the_D!=0) html += the_D+"天"; if(the_D!=0 || the_H!=0) html += '<span class="hour">'+(the_H+(the_D*24))+"</span>小时"; if(the_D!=0 || the_H!=0 || the_M!=0) html += '<span class="minute">'+the_M+"</span>分"; html += '<span class="second">'+the_S+"</span>秒"; $(objid).innerHTML = html; the_s[the_s_index]--; }else{ $(objid).innerHTML = "已结束"; } } // --></mce:script>

 

由于秒杀用的是服务器时间所以在后台不能用静态作单页显示.由于在KingCMS的商城中没有开始和结束时间所以要在后台的模型管理中加上两个字段我用的是:

nstart varchar(20) NOT NULL,
nfinish varchar(20) NOT NULL

 

<tr><th>开始时间</th><td>{king:_nstart/}</td></tr>
<tr><th>结束时间</th><td>{king:_nfinish/}</td></tr>

 

我想要在开始时间时就有倒计时提示.开启dbquery模块作查询如果当前的服务器时间到了开始时间就有倒计时提示.

<div class="item"> <p id="limitad_{king:kid/}"></p> {king:dbquery query="SELECT kid,k_nfinish,UNIX_TIMESTAMP(k_nstart)AS k_cstart,UNIX_TIMESTAMP(k_nfinish)AS k_cfinish FROM king__shop WHERE kid=(king:kid/)"} <?php date_default_timezone_set("PRC"); //如果当前时间大于等于活动开始时间 if(time()>={king:k_cstart/} && time()<={king:k_cfinish/}){ echo "<mce:script language=/"javascript/"><!-- var startDate= new Date('".date("Y/m/d H:i:s")."');var endDate= new Date('{king:k_nfinish replace='-|/' /}');the_s[{king:kid/}]=(endDate.getTime()-startDate.getTime())/1000;setInterval(/"view_time({king:kid/},'limitad_{king:kid/}')/",1000); // --></mce:script> "; } ?> {/king:dbquery} </div>

下面是一个连接:

<a href="{config:system.inst/}portal/groupbuy.php?action=secondbuy&PID={king:kid/}&CID=1">购买</a>

 

 

你可能感兴趣的:(html,Date,function,timezone,Class,360)