非插件实现emlog博客文章点赞功能

给文章点赞是目前比较流行的功能,最常见的就是微信朋友圈、微博点赞了,那么emlog的文章可不可以实现点赞功能?答案是肯定的,下面久伴分享一下emlog文章实现点赞功能的代码。

具体操作步骤

1、在当前主题的module.php文件添加以下代码:

  1. <?php //点赞  
  2. function syzan(){  
  3.     $DB = MySql::getInstance();  
  4.     if($DB->num_rows($DB->query(“show columns from “.DB_PREFIX.“blog like ‘slzan'”)) == 0){  
  5.         $sql = “ALTER TABLE “.DB_PREFIX.“blog ADD slzan int unsigned NOT NULL DEFAULT ‘0’”;  
  6.         $DB->query($sql);  
  7.     }  
  8. }  
  9. syzan();  
  10. function update($logid){  
  11.     $logid = intval($_POST[‘id’]);  
  12.     $DB = Database::getInstance();  
  13.     $DB->query(“UPDATE “ . DB_PREFIX . “blog SET slzan=slzan+1 WHERE gid=$logid”);  
  14.     setcookie(‘slzanpd_’. $logid, ‘true’, time() + 31536000);  
  15. }  
  16. function lemoninit() {  
  17.     if( @$_POST[‘plugin’] == ‘slzanpd’ &&@$_POST[‘action’] == ‘slzan’ &&isset($_POST[‘id’])){  
  18.         $id = intval($_POST[‘id’]);  
  19.         header(“Access-Control-Allow-Origin: *”);  
  20.         update($id);echo getnum($id);die;  
  21.     }  
  22. }  
  23. lemoninit();  
  24. function getnum($id){  
  25.     static $arr = array();  
  26.     $DB = Database::getInstance();  
  27.     if(isset($arr[$logid])) return $arr[$logid];  
  28.     $sql = “SELECT slzan FROM “ . DB_PREFIX . “blog WHERE gid=$id”;  
  29.     $res = $DB->query($sql);  
  30.     $row = $DB->fetch_array($res);  
  31.     $arr[$id] = intval($row[‘slzan’]);  
  32.     return $arr[$id];  
  33. }  
  34. ?>  

2、在主题的header.php文件的前面添加以下代码:

  1. <script type=“text/javascript”>  
  2. $(document).on(‘click’, ‘.slzanpd’, function() {  
  3.     var a = $(this),  
  4.     id = a.data(‘slzanpd’);  
  5.     if (slzanpd_check(id)) {  
  6.         alert(‘您已赞过本文!’);  
  7.     } else {  
  8.         $.post(, {  
  9.             plugin: ‘slzanpd’,  
  10.             action: ‘slzan’,  
  11.             id: id  
  12.         },  
  13.         function(b) {  
  14.             a.find(‘u’).html(b);  
  15.             slzanpd_(a);  
  16.         });  
  17.     }  
  18. });  
  19. function slzanpd_check(id) {  
  20.     return new RegExp(‘slzanpd_’ + id + ‘=true’).test(document.cookie);  
  21. }  
  22. $(‘[data-slzanpd]’).each(function() {  
  23.     var a = $(this),  
  24.     id = a.data(‘slzanpd’);  
  25.     if (slzanpd_check(id)) {  
  26.         slzanpd_(a);  
  27.     } else {  
  28.         a.attr(‘title’, ‘给舍力来点动力吧!’)  
  29.     }  
  30. });  
  31. function slzanpd_(a) {  
  32.     a.css(‘cursor’, ‘not-allowed’).attr(‘title’, ‘您已赞过本文!’);  
  33. }  
  34. </script>  

3、在主题的echo_log.php文件的下面添加以下代码:

  1. <div class=“ding”>  
  2.     <a class=“slzanpd” data-slzanpd=“<?php echo $logData[‘logid’];?>” title=“喜欢这篇文章就赞一个吧!”>赞(<?php echo(isset($logData[‘slzan’])?$logData[‘slzan’]:getnum($logData[‘logid’]));?>次)</a>  
  3. </div>  

4、在主题的main.css文件添加以下代码:

  1. .ding {overflow:hidden; font-size:14px;}  
  2. .ding a {display:block; float:left; background-color:#1F90DE; color:#fff; border-radius:3px; padding:5px 30px; cursor:pointer;}  
  3. .ding a:hover {color:#fff;}  

给TA买糖
共{{data.count}}人
人已赞赏
emlog教程

Emlog实现隐藏文章内容登陆后可见的方法

2018-3-16 11:02:06

emlog教程

实现emlog网站信息统计的代码

2018-3-16 11:08:07

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索