本文作者:心月

phpcms v9利用文章點擊量實現點贊功能的簡單方法

心月IT博客 2019-07-26
phpcms v9利用文章點擊量實現點贊功能的簡單方法摘要:絕大部分的網站都有瀏覽量和點贊功能,通過瀏覽量可以很清晰的知道這篇文章被閱讀的次數。而點贊功能則可以清晰的反應在閱讀這篇文章的人中有多少人喜歡這篇文章。可以說這兩項功能對提升用戶體驗是非常有幫助的。

    絕大部分的網站都有瀏覽量和點贊功能,通過瀏覽量可以很清晰的知道這篇文章被閱讀的次數。而點贊功能則可以清晰的反應在閱讀這篇文章的人中有多少人喜歡這篇文章。可以說這兩項功能對提升用戶體驗是非常有幫助的。

    在眾多phpcms框架中phpcm sv9可以說是非常受歡迎的,功能齊全,操作簡便,二次開發也很方便。無論,是懂php程序還是不懂php程序的小白都可以輕松上手。(遺憾的是:團隊已經放棄維護了。)

    用過phpcms的人都知道,在它自帶的模板中有文章點擊量功能,但是沒有點贊功能。今天就分享下,如何利用phpcmsv9的文章點擊量實現點贊功能。

既然是利用文章點擊量來實現點贊功能,當然得先了解它的點擊量是怎么實現的。

1、文章點擊量的用法

phpcmsv9的文章點擊量是通過api接口實現的,在列表頁模板中的調用形式如下:

{php $db = pc_base::load_model('hits_model');   $_r = $db->get_one(array('hitsid'=>'c-'.$modelid.'-'.$r[id])); $views = $_r[views];}

在phpcmsv9中文章點擊量是通過'hits_model'模塊實現的,然后通過'hits_model'把文章的相關文章點擊量數據調出來。簡單的說,就是根據'hitsid',直接查數據庫即可拿到想要的數據。

從上面的調用形式中可以知道 'hitsid' 拼接了 'modelid' 和 'id', 'id' 是文章id號,'modelid' 是文章所屬欄目使用的模型id號。'$_r' 就是查詢到的對應文章的點擊量相關數據。因此,要實現文章點贊功能,我們可以把點贊字段加到文章點擊量表中,和文章點擊量放在一起。


2、文章點贊功能實現

    ①找到數據庫中的v9_hits數據表(如果修改過前綴則是 '前綴'拼上hits),然后在這張表中插入一個字段‘zan’(你也可以用其他的名字,只要后面調用的時候保存一致即可)。你也可以用執行sql的方式添加字段。

ALTER TABLE `v9_hits` ADD `zan` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0',
ADD INDEX ( `zan` )

    ②復制根目錄下 api 文件夾里的 count.php文件,(復制出來的文件名可以隨意取名,這里為了方便就取名為 zan.php),然后修改 zan.php,修改后的代碼如下:

<?php
defined('IN_PHPCMS') or exit('No permission resources.'); 
/**
 * 點贊統計
 */
$db = '';
$db = pc_base::load_model('hits_model');
if($_POST['modelid'] && $_POST['id']) {
	$model_arr = array();
	$model_arr = getcache('model','commons');
	$modelid = intval($_POST['modelid']);
	$hitsid = 'c-'.$modelid.'-'.intval($_POST['id']);
	$r = get_count($hitsid);
	if(!$r) exit;
    extract($r);
    hits($hitsid);

    echo ++$zan;
}


/**
 * 獲取點贊數量
 * @param $hitsid
 */
function get_count($hitsid) {
	global $db;
    $r = $db->get_one(array('hitsid'=>$hitsid));  
    if(!$r) return false;	
	return $r;	
}

/**
 * 點贊次數統計
 * @param $contentid
 */
function hits($hitsid) {
	global $db;
	$r = $db->get_one(array('hitsid'=>$hitsid));
	if(!$r) return false;
	$zan = $r['zan'] + 1;  //$r['zan']目前數據庫中存儲的點贊數量,

	$sql = array('zan'=>$zan,'updatetime'=>SYS_TIME); //'zan'對應上面在hits數據表中添加的點贊字段,這句代碼是更新點贊數據,實現點贊加1
    return $db->update($sql, array('hitsid'=>$hitsid));
}

?>

    $_POST['modelid'] 說明:如果用的是post方式實現文章點贊就用$_POST['modelid'],如果是get方式就用$_GET['modelid']。

    $_POST['id'] 說明:如果用的是post方式實現文章點贊就用$_POST['id'],如果是get方式就用$_GET['id']。

    ③復制根目錄下的api.php文件,重命名為 apip.php 。(如果用的get方式實現點贊,則不用做這步)。

    ④修改根目錄下 api文件夾中的 count.php 文件 ,需要在這個文件里添加兩行代碼,如圖:

點贊數量調用

這里的修改主要是為了調用點贊數據。

$zan = $r['zan'] 的意思是,把數據庫中查出來的點贊數賦值給 $zan 變量,$('#zan').html('<?php echo $zan?>'),這是一句jq代碼,它的意思是把點贊數據顯示到id為'zan'的元素上。

    ⑤接下來就可以在文章頁實現點贊功能了,主要通過給點贊按鈕添加點擊事件來實現:

<span id="zan">點贊按鈕</span>
<script type="text/javascript">
	$(function(){
		$('#zan').click(function(){
		    $.ajax({
	            type: 'POST',
	            url: '/apip.php', //如果是給方式的話則為 api.php
	            data: {'op':'zan', 'id':'{$id}', 'modelid':'{$modelid}'},
	            success:function (e) {
	              $("#zan").html(e);
	            }
	        })
		})
	})
</script>
<script language="JavaScript" src="{APP_PATH}api.php?op=count&id={$id}&modelid={$modelid}"></script>

在文章頁就實現了點贊功能和點贊量顯示了。

在列表頁中調用點贊數量,只需在調用文章點擊量時添加一個變量即可:

{php $db = pc_base::load_model('hits_model');   $_r = $db->get_one(array('hitsid'=>'c-'.$modelid.'-'.$r[id])); $views = $_r[views]; $zan = $_r['zan']}

$zan = $_r['zan']就是新增的變量。


phpcmsv9通過文章點擊量實現文章點贊功能就實現了,如果有什么不懂的可以評論留言或者郵件。

文章版權及轉載聲明:

本文由:IT技術博客 心月整理分享于 2019-11-21 11:28:47
若轉載請注明原文及出處:http://www.eojird.tw/cms/290.html

分享到:
贊(
發表評論
快捷輸入:

驗證碼

    評論列表 (有 0 條評論,人圍觀)參與討論