欢迎来到元素模板ys720.com,本站提供专业的织梦模板PBOOTCMS模板网站模板网站修改/网站仿站
当前位置:主页 > 程序教程 > DEDECMS教程 >
DEDECMS教程

织梦dedecms二次开发全站文章收藏总次数统计功能

(元素模板) / 2017-09-21 09:59

有时候我们需要对网站所有文章的收藏量进行一个统计,但是织梦默认没有这个统计功能,我们需要二次开发,下面就告诉大家详细开发过程!

此过程需要对数据库进行操作,需要取得数据库权限,建议大家在操作前最好备份一下数据库以及文件。下面是详细步骤:

第一步、新建数据库表dede_stows,我们以直接复制dede_downloads数据表为例

注:dede为数据库表前缀,请改成你自己的表前缀!       

然后将dede_downloads中的downloads名称更改为stows,再将hash字段删除;

新建一个名称为title的字段:
类型:text
长度:252
整理:gbk_chinese_ci(你的网站编码,如果是utf-8,请选择utf-8)
空:否
额外:留空       

第二步、打开/plus/stow.php文件,将一下代码插入最后的 ?> 字符前面:
代码如下:

//更新收藏次数 $title = ($arctitle); $stows = 0; $rs = $dsql->ExecuteNoneQuery2("UPDATE `dede_stows` SET stows = stows+1 WHERE title='$title' "); if($rs <= 0) { $query = " INSERT INTO `dede_stows`(`title`, `id`, `stows`) VALUES('$title', '$id', 1); "; $dsql->ExecNoneQuery($query); }

第三步、再新建一个php文件命名为stows.php,代码如下:    

<?php
/*
 * 收藏总次数统计
 */
require_once(dirname(__FILE__)."/../include/common.inc.php");
$aid = (isset($aid) && is_numeric($aid)) ? $aid : 0;
$row = $dsql->GetOne("SELECT SUM(stows) AS totals FROM `dede_stows` WHERE id='$aid' ");
if(empty($row['totals'])) $row['totals'] = 0;
echo "document.write('{$row['totals']}');";
exit();

注意:上面两段代码里面的dede_字符都改成自己的数据库前缀       

完成后只要在你需要显示统计的页面加入如下代码即可显示统计总次数:

<srcipt src="{dede:global name='cfg_phpurl'/}/stows.php?aid={dede:field name='id'/}" language="javasrcipt"></srcipt>


 
Copyright @ 2013-2019 元素模板 www.ys720.com All Rights Reserved. 版权所有 元素模板 www.ys720.com