[Emlog]教程非插件美化文章点赞

作者: 小易

全网最全的网络资源分享网站

手机扫码查看

特别声明:本站多为原创或网络转载、资源使用一般不提供帮助、本站资源不可商用原创或部分除外、如有侵权请联系!

摘要:用 php js 实现非插件文章点赞,仅限emlog程序,其实emlog插件越少越好,防止访问网站速度变慢等问题点赞功能实现可以放入 HTML php即可实现功能以下代码放入需要点...

用 php js 实现非插件文章点赞,仅限emlog程序,其实emlog插件越少越好,防止访问网站速度变慢等问题

点赞功能实现

可以放入 HTML php即可实现功能

以下代码放入需要点赞的部分

<?php $zancai = zan_cai($logid);?>
<span class="win_zan" data-zan="<?php echo $logid;?>">踩:<b><?php echo $zancai[0];?></b></span>
<span class="win_cai" data-cai="<?php echo $logid;?>">赞:<b><?php echo $zancai[1];?></b></span>

点赞调用

以下代码放入module.php

<?php
//文章赞踩
function zan_cai($logid){
	if($logid){
	    $DB = Database::getInstance();
	    $row = $DB->fetch_array($DB->query("SELECT digg FROM ".DB_PREFIX."blog WHERE gid=$logid"));
	    return explode(',',$row['digg']);
	}   
}
function zancai_logid(){
	$DB = Database::getInstance();
	if($DB->fetch_array($DB->query( "Describe ".DB_PREFIX."blog digg" )) == false ){
		$sql = "ALTER TABLE ".DB_PREFIX."blog ADD digg varchar(10) NOT NULL DEFAULT '0,0'";
		$DB->query($sql);
	}
	if($_POST['plugin'] == 'digg') {
		header("Access-Control-Allow-Origin: *");
		echo zancai_updata($DB,$_POST['mark'],$_POST['id']);die;
	}	
}
zancai_logid();
function zancai_updata($DB,$mark,$id){
	$gid = intval($id);
	$data = zan_cai($id);
	if ($mark == 'zan'){
	    $data[0] += 1;
		$zancai = $data[0].','.$data[1];
		$DB->query("UPDATE ". DB_PREFIX."blog SET digg='{$zancai}' WHERE gid={$gid}");
		setcookie('zakura_digg'.$gid,$gid, time() + (10 * 365 * 24 * 60 * 60) );
		return $data[0];
	}elseif($mark == 'cai'){
		$data[1] += 1;
		$zancai = $data[0].','.$data[1];
		$DB->query("UPDATE ". DB_PREFIX."blog SET digg='{$zancai}' WHERE gid={$gid}");
		setcookie('zakura_undigg'.$gid,$gid, time() + (10 * 365 * 24 * 60 * 60) );
		return $data[1];
	}	
}
?>

点赞调用js

以下代码放入emlog程序公用.js文件调用

$(document).ready(function() {
	$('.win_zan').on('click', function() {
		var a = $(this);
		var postid = a.attr('data-zan');
		if (new RegExp('zakura_digg' + postid + '', 'i').test(document.cookie)) {
			alert('已经赞过了');
		} else {
			if (new RegExp('zakura_undigg' + postid + '', 'i').test(document.cookie)) {
				alert('踩过了,不能再赞');
			} else {
				a.addClass('current');
				$.post('', {
					plugin: 'digg',
					mark: 'zan',
					id: postid
				}, function(data, status) {
					alert('赞了一下');
					a.find('b').text(data);
				});
			}
		}
	});
	$('.win_cai').on('click', function() {
		var a = $(this);
		var postid = a.attr('data-cai');
		if (new RegExp('zakura_undigg' + postid + '', 'i').test(document.cookie)) {
			alert('已经踩过了');
		} else {
			if (new RegExp('zakura_digg' + postid + '', 'i').test(document.cookie)) {
				alert('赞过了,不能再踩');
			} else {
				a.addClass('current');
				$.post('', {
					plugin: 'digg',
					mark: 'cai',
					id: postid
				}, function(data, status) {
					alert('踩了一下');
					a.find('b').text(data);
				});
			}
		}
	});
});

点赞css样式

还是放入emlog程序公用css文件

.win_zan .win_cai {
    background: #f55;
    padding: 5px 10px;
    margin-right: 5px;
    color: #fff;
}

 

分享到:
打赏
  •  阅读时间:

    字数统计:本文共有 2597 个字

    本文标题:《[Emlog]教程非插件美化文章点赞》发布于2022-6-2

    版权声明:文章由《 小易》发布、原创转载请保留出处!

    
    切换注册

    登录

    忘记密码?

    您也可以使用第三方帐号快捷登录

    切换登录

    注册

    觉得文章有用就打赏一下文章作者

    支付宝扫一扫打赏

    微信扫一扫打赏