phpcms貌似只有在展示show頁面才能獲取文章點擊數,如何讓他在首頁和列表頁也顯示文章點擊數,請往下面看
靜態頁顯示點擊數量,PHP里面點擊數量在首頁無法顯示,這面這個方法就能實現
{pc:content action="lists" catid="$catid" num="15" order="id DESC" page="$page"}
<ul>
<li style="background:#1170b4;"><a style="background:none; color:#FFF;" class="center ah">標題</a><span style="color:#FFF;">點擊次數</span><span style="color:#FFF;">發布時間</span></li>
{loop $data $r}
<li><a href="{$r[url]}" target="_blank"{title_style($r[style])}>{$r[title]}</a><span id="hits{$r[id]}">0</span><span>{date('Y-m-d',$r[inputtime])}</span></li>
{/loop}
</ul>
<div id="pages" class="text-c">{$pages}</div>
{loop $data $r}
{if $n!=1}
<?php
$d=",";
?>
{/if}
<?php
$ids.=$d.$r[id];
?>
{/loop}
<script language="JavaScript" src="{APP_PATH}api.php?op=count_list&ids={$ids}&modelid={$modelid}"></script>
{/pc}
新建一個count_list.php,內容如下,上傳到api目錄中
<?php
defined('IN_PHPCMS') or exit('No permission resources.');
/**
* 點擊統計
*/
$db = '';
$db = pc_base::load_model('hits_model');
$ids=$_GET['ids'];
$data=explode(",", $ids);
if($_GET['modelid']) {
foreach($data as $id){
$model_arr = array();
$model_arr = getcache('model','commons');
$modelid = intval($_GET['modelid']);
$hitsid = 'c-'.$modelid.'-'.$id;
$r = get_count($hitsid);
if(!$r) exit;
extract($r);
echo "\$('#hits".$id."').html('".$views."');\n\r";
}
}
/**
* 獲取點擊數量
* @param $hitsid
*/
function get_count($hitsid) {
global $db;
$r = $db->get_one(array('hitsid'=>$hitsid));
if(!$r) return 0;
return $r;
}
?>
應某朋友的要求,下面放出在首頁調用點擊量的代碼:
這部分是調用標簽的代碼,在首頁每用一次,就復制一次過去。看懂了的話可以隨便改,注意hits-1-{$r[id]}這個就是了~
{pc:content action="lists" catid="1" num="15" order="id DESC"}
<?php
$ids="";
?>
<ul>
<li style="background:#1170b4;"><a style="background:none; color:#FFF;" class="center ah">標題</a><span style="color:#FFF;">點擊次數</span><span style="color:#FFF;">發布時間</span></li>
{loop $data $r}
<li><a href="{$r[url]}" target="_blank"{title_style($r[style])}>{$r[title]}</a><span id="hits-1-{$r[id]}">0</span><span>{date('Y-m-d',$r[inputtime])}</span></li>
{/loop}
</ul>
{loop $data $r}
{if $n!=1}
<?php
$d=",";
?>
{/if}
<?php
$ids.=$d.$r[id];
?>
{/loop}
<script language="JavaScript" src="{APP_PATH}api.php?op=count_index&ids={$ids}&modelid=1"></script>
{/pc}
新建一個count_index.php,內容如下,上傳到api目錄中
<?php
defined('IN_PHPCMS') or exit('No permission resources.');
/**
* 點擊統計
*/
$db = '';
$db = pc_base::load_model('hits_model');
$ids=$_GET['ids'];
$data=explode(",", $ids);
if($_GET['modelid']) {
foreach($data as $id){
$model_arr = array();
$model_arr = getcache('model','commons');
$modelid = intval($_GET['modelid']);
$hitsid = 'c-'.$modelid.'-'.$id;
$r = get_count($hitsid);
if(!$r) exit;
extract($r);
echo "\$('#hits-".$modelid."-".$id."').html('".$views."');\n\r";
}
}
/**
* 獲取點擊數量
* @param $hitsid
*/
function get_count($hitsid) {
global $db;
$r = $db->get_one(array('hitsid'=>$hitsid));
if(!$r) return 0;
return $r;
}
?>
紅色的那個1換成你實際的模型ID
比如,你的標簽是調用內容模型的內容,就填寫內容模型的ID
上一篇 WordPres介紹