国产激情高潮在线观看-中文字幕有码视频推荐-国产三级全黄芒果视频-久久国产美女一区精品

18038435860

3.016版本添加文章點(diǎn)擊量功能

時(shí)間:2018-11-20 22:38:54 點(diǎn)擊:1437 來(lái)源:易速網(wǎng)絡(luò)

這個(gè)教程以及相關(guān)代碼是在3.0.1.6版本基礎(chǔ)上寫的,如果后面的版本,可能有些代碼或者路徑寫法不一樣,需要自己參考相關(guān)文件代碼修改。

此教程分兩個(gè)部分,第一部分是教程,第二部分是相關(guān)文件的代碼。

第一部分:

1、數(shù)據(jù)庫(kù)jtbc_news添加n_count字段,類型INT,長(zhǎng)度11

2、頭部模板引入main.js文件

<script type="text/javascript" src="{$=$global.assetspath}/js/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="{$=$global.assetspath}/js/main.js"></script>
<script type="text/javascript" src="{$=$global.assetspath}/js/jtbc.js"></script>

3、news模塊詳情頁(yè)模板修改

3.1底部添加js代碼

<script type="text/javascript">
function innerCOUNT(strers)
{
if (strers != "$error$") get_id("count").innerHTML = strers;
};
igets("../universal/count/?type=action&action=count&genre={$>genre}&id={$id}", innerCOUNT);
</script>
{$=take('.public.footer')}

3.2需要顯示點(diǎn)擊量的位置添加標(biāo)簽
<span id="count">0</span>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

第二部分

1、增加universal/count/index.php文件,代碼如下

<?php
header('content-type: text/html; charset=utf-8');
function p($p){return is_file($p)? $p: p('../' . $p);}
require_once(p('common/incfiles/jtbc.php'));
echo require_inc_and_get_result(__FILE__);
?>


2、增加universal/count/common/incfiles/index.inc.php文件,代碼如下

<?php
namespace jtbc;
class ui extends page {
public static function moduleActionCount()
{
$id = base::getNum(request::getHTTPPara('id', 'get'), 0);
$genre = request::getHTTPPara('genre', 'get');
$db = self::db();
if (!is_null($db))
{
$table = tpl::take('global.' . $genre . ':config.db_table', 'cfg');
$prefix = tpl::take('global.' . $genre . ':config.db_prefix', 'cfg');
$sqlstr = "select " . $prefix . "count from " . $table . " where " . $prefix . "delete=0 and " . $prefix . "publish=1 and " . $prefix . "id=" . $id;
$rq = $db -> query($sqlstr);
$rs = $rq -> fetch();
if (is_array($rs))
{
$sqlstr = "update " . $table . " set " . $prefix . "count=" . $prefix . "count +1 where " . $prefix . "id=" . $id;
$rq = $db -> query($sqlstr);
echo $rs[0];
}
}
}
}
?>

 

3、增加common/assets/js/main.js文件,代碼如下

var agt = navigator.userAgent.toLowerCase();
var isie = (agt.indexOf("msie")!= -1 && document.all);
var client_test;

if (document.getElementById)
{ client_test = "a"; }
else if (document.all)
{ client_test = "b"; }
else if (document.layers)
{ client_test = "c"; }

var request = new function()
{
var iname,ivalue,icount;
var urlstr = location.href;
var inum = urlstr.indexOf("?")
urlstr = urlstr.substr(inum + 1);
var arrtmp = urlstr.split("&");
for(icount = 0; icount < arrtmp.length; icount++)
{
inum = arrtmp[icount].indexOf("=");
if(inum > 0)
{
iname = arrtmp[icount].substring(0, inum);
ivalue = arrtmp[icount].substr(inum + 1);
this[iname] = ivalue;
}
}
}

var xmlhttp = function()
{
var xmlObj = null;
if(window.XMLHttpRequest){
xmlObj = new XMLHttpRequest();
} else if(window.ActiveXObject){
xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
} else {
return;
}
return xmlObj;
}

function click_return(strt)
{
var tmpvar = strt;
var tmptrue = window.confirm(tmpvar);
if (tmptrue) { return true; }
return false;
}

function get_id(strname)
{
switch (client_test)
{
case "a":
return document.getElementById(strname);
break;
case "b":
return document.layers[strname];
break;
default :
return document.all(strname);
break;
}
}

function get_num(strers)
{
if (isNaN(strers) || strers == "")
{
return 0;
}
else
{
return parseInt(strers);
}
}

function get_sel_id()
{
var frm = eval("document.sel_form");
if (frm.sel_id.length)
{
var sel_ids = '';
var slength = frm.sel_id.length;
for (var i = 0; i < slength; i++)
{
if (frm.sel_id[i].checked)
{
if (sel_ids == '')
{
sel_ids = frm.sel_id[i].value;
}
else
{
sel_ids = sel_ids + ',' + frm.sel_id[i].value;
}
}
}
}
else
{
if (frm.sel_id.value)
{
if (frm.sel_id.checked) sel_ids = frm.sel_id.value;
}
}
document.sel_form.sel_ids.value = sel_ids;
}

function get_selects_list(strid)
{
var tobj = strid;
if (tobj)
{
var ti,tstr;
tstr = "";
for (ti = 0; ti < tobj.options.length; ti ++)
{
if (tstr == "")
{tstr = tobj.options[ti].value;}
else
{tstr += "|" + tobj.options[ti].value;}
}
return tstr;
}
}

function iget(strers)
{
var nxmlhttp = new xmlhttp();
nxmlhttp.open("get", strers, false);
nxmlhttp.send(null);
return nxmlhttp.responseText;
}

function igets(strers, callback)
{
var nxmlhttp = new xmlhttp();
nxmlhttp.onreadystatechange = function()
{
if (nxmlhttp.readyState == 4)
{
if (nxmlhttp.status == 200 || nxmlhttp.status == 304)
{
callback(nxmlhttp.responseText);
}
else
{
callback("$error$")
}
}
}
nxmlhttp.open("get", strers, true);
nxmlhttp.send(null);
}

function igets_xml(strers, callback)
{
var nxmlhttp = new xmlhttp();
nxmlhttp.onreadystatechange = function()
{
if (nxmlhttp.readyState == 4)
{
if (nxmlhttp.status == 200 || nxmlhttp.status == 304)
{
callback(nxmlhttp.responseXML);
}
else
{
callback("$error$")
}
}
}
nxmlhttp.open("get", strers, true);
nxmlhttp.send(null);
}

function itextner(strid, strers)
{
var tobj;
tobj = get_id(strid);
if (isie)
{
tobj.focus();
document.selection.createRange().text = strers;
}
else
{
tobj.focus();
tobj.value += strers;
}
}

function iresize(stro, stra, strv)
{
switch(stra)
{
case 1:
if (stro.width > strv) stro.width = strv;
break;
case 2:
if (stro.height > strv) stro.height = strv;
break;
default:
if (stro.width > strv) stro.width = strv;
}
}

function location_href(strers)
{
var tburl = strers;
var tbbase = get_id("base");
if (tbbase)
{
var tbhref = get_id("base").href;
if (tbhref) tburl = tbhref + tburl;
}
location.href = tburl;
}

function nhrefstate()
{
var nhref = request["hspan"];
if(!nhref == "")
{
var nhrefobj = get_id(nhref);
if (nhrefobj)
{
nhrefobj.className = "red";
}
}
}

function nll(strers)
{}

function pop_win(strurl, strname, strwidth, strheight, strscroll)
{
var nwidth = strwidth;
var nheight = strheight;
var leftsize = 0;
var topsize = 0;
if (nwidth == 0 || nheight == 0)
{
nwidth = screen.width - 8;
nheight = screen.height - 55;
}
else
{
leftsize = (screen.width) ? (screen.width - nwidth)/2 : 0;
topsize = (screen.height) ? (screen.height - nheight)/2 : 0;
}
window.open(strurl, strname, 'width=' + nwidth + ',height=' + nheight + ',left=' + leftsize + ',top=' + topsize + ',toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=' + strscroll + ',resizable=no' );
}

function switch_display(strers)
{
var tobj = get_id(strers);
if(tobj.style.display == 'none')
{
tobj.style.display = '';
}
else
{
tobj.style.display = 'none';
}
}

function select_all()
{
var frm = eval("document.sel_form");
var slength = 0;
if (frm.sel_id == null) { return false; }
var sall = frm.sel_all.checked;
if (frm.sel_id.length)
{
slength = frm.sel_id.length;
for (var i = 0; i < slength; i++) { frm.sel_id[i].checked = sall; }
}
else { frm.sel_id.checked = sall; }
}
function insert_images2(strid, strurl, strntype, strtype, strbase)
{
var tstrtype;
if (strtype == -1)
{tstrtype = strntype;}
else
{
var thtype = request["htype"];
if (thtype == undefined)
{tstrtype = strtype;}
else
{tstrtype = get_num(thtype);}
}
switch (tstrtype)
{
case 0:
editor_insert(strid, "<img src=\"" + strbase + "/" + strurl + "\" border=\"0\">");
break;
case 1:
itextner(strid, "[img]" + strurl + "[/img]");
break;
case 3:
itextner(strid, "<img src=\"" + strurl + "\" border=\"0\">");
break;
}
}

 

總共增加3個(gè)文件。此教程完。

高邑县| 新丰县| 信阳市| 布拖县| 舞阳县| 新建县| 灵石县| 阿尔山市| 南京市| 聊城市| 井冈山市| 美姑县| 保康县| 公安县| 广德县| 洛阳市| 宜良县| 乡城县| 南陵县| 应用必备| 柘城县| 临沧市| 句容市| 大埔区| 兴化市| 团风县| 临夏市| 右玉县| 永济市| 金坛市| 武陟县| 绩溪县| 全南县| 青阳县| 辛集市| 安康市| 济南市| 余庆县| 尚志市| 东方市| 红桥区|