500元精品仿站

织梦模板点赞功能实现方法详解

大鱼君 2019-08-24 建站相关 关键词:织梦网站,点赞功能,织梦二次开发

织梦网站自带有顶一下 踩一下 功能,并不是那么好用。本文分享织梦系统二次开发添加点赞功能,简单好用。

首先,我们执行SQL语句,可在织梦后台 - 系统 - SQL命令行工具 中操作,也可登录数据库管理系统phpmyadmin 中操作

1、为 dede_archives 表 添加 字段 zan ,复制下面SQL命令,并执行

ALTER TABLE dede_archives ADD zan int(11) NOT NULL DEFAULT '1200' AFTER weight;

2、复制下面SQL命令并执行,新建 dede_zan 表单, 作用是为了以记录IP的形式检测用户是否已点过赞了

 CREATE TABLE IF NOT EXISTS `dede_zan` (  

  `id` int(11) NOT NULL AUTO_INCREMENT,  

  `aid` int(11) NOT NULL,  

  `ip` varchar(40) NOT NULL,  

  PRIMARY KEY (`id`)  

) ENGINE=MyISAM  DEFAULT CHARSET=utf8

3、网页添加JS脚本 注意:页面需要引入jquery.js

<script language="javascript" type="text/javascript">
$(function(){  
    $(".zan-num").click(function(){  
        var zan = $(this); 
        var id = zan.attr("dir"); //对应id  
        $.ajax({  
            type:"POST",  
            url:"/zan.php",  
            data:"id="+id,  
            cache:false, //不缓存此页面  
            success:function(data){  
                zan.find(".zan-size").html(data);  
            }  
        });  
        return false;  
    });  
}); 
</script>

4、织梦源文件中 找到 /include/extend.func.php 文件,在末尾加入函数 zan

function zan($aid){ 
    global $dsql;
    $row = $dsql->GetOne("Select id,zan From dede_archives where id='".$aid."'");
    return $row['zan'];
}

5、织梦根目录新建 zan.php 文件,写入下面代码

<?php
require_once (dirname(__FILE__) . "/include/common.inc.php"); 
$ip =getip(); //获取用户IP  
$id = $_POST['id'];  
if(!isset($id) || empty($id)) exit;  
//查询已赞过的IP 
$dsql->SetQuery("SELECT ip FROM dede_zan  WHERE aid='".$id."' and ip='$ip'"); 
$dsql->Execute(); 
$count = $dsql->GetTotalRow(); 
if($count==0){ //如果没有记录  
    $dsql->ExecuteNoneQuery("update dede_archives set zan=zan+1 where id='$id'; ");//写入赞数        
    $dsql->ExecuteNoneQuery("insert into dede_zan (aid,ip) values ('$id','$ip'); ");//写入IP,及被赞的AID     
    $rows = $dsql->GetOne("Select zan  from dede_archives where id='".$id."'");//获取被赞的数量 
    $zan = $rows['zan']; //获取赞数值  
    echo $zan;  
}else{
    echo "赞过了..";  
}

6、最后,在需要点赞的页面加入下面HTML代码

<p class="zan-num m-doc-qq-xx-zan" dir="{dede:field.id/}">
    <i class="iconfont icon-dianzan"></i>
    <br />
    <span data-role="like" class="zan-size">
        {dede:field.id function="zan(@me)"/}
    </span>
</p>

注意:P 标签中的  .zan-num  绑定了JS中的点击事件,dir 属性控制文章的 ID , .zan-size 则控制点赞数 。点赞的样式,可根据自身条件更改。

如果要修改默认点赞数量,直接修改数据库中 dede_archives 表中的 zan 字段 的默认值即可,如下图所示:

修改点赞默认数量

以上为织梦模板点赞功能实现方法详解,亲测可用。如功能无法实现,请详细检查数据库和相关代码是否正确,如有疑问,欢迎咨询。

500元精品仿站
说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!

Hello, 欢迎加入DEDECMS技术交流群,一起讨论织梦建站!

我要入群

织梦模板推荐

  • 台湾茶饮加盟类织梦网站模板(自适应)
  • 养老机构织梦网站模板(自适应)
  • 生物科技公司品牌展示网站织梦模板(自适应)
  • 家具品牌产品展示类织梦模板(自适应)
500元精品仿站

我来推荐一个更牛逼的给你看看?

  • 猛戳我吧