帝国CMS技巧:自定义标签统计每月的文章发布数

时间:2023年12月29日

/

来源:网络

/

编辑:佚名

兼容帝国原来的使用方法,即网站信息统计标签[totaldata]使用方法一样 只是时间上0为所有时间不限制、1为今日、2为本月、3为本年(11表示本年1月,12表示本年二月,...,22表示本年12月) ,注意4-10不能用,否则出错。22以上的数字不予统计即全部为0
1、把下面的代码复制粘帖到e\class\userfun.php中<?php和?>间
//---------------------------自定义一个统计标签,兼容帝国原来的使用方法
//修改后的信息统计。$day参数11表示本年1月,12表示本年二月,...,22表示本年12月
function user_TotalData1($classid,$enews=0,$day=0,$totaltype=0){
global $empire,$class_r,$class_zr,$dbtbpre,$fun_r,$class_tr;
if(empty($classid))
{
return "";
}
//统计类型
if($totaltype==1)//评论数
{
$totalfield='sum(plnum) as total';
}
elseif($totaltype==2)//点击数
{
$totalfield='sum(onclick) as total';
}
elseif($totaltype==3)//下载数
{
$totalfield='sum(totaldown) as total';
}
else//信息数
{
$totalfield='count(*) as total';
}
if($day)
{
if($day==1)//今日信息
{
$date=date("Y-m-d");
$starttime=$date." 00:00:01";
$endtime=$date." 23:59:59";
}
elseif($day==2)//本月信息
{
$date=date("Y-m");
$starttime=$date."-01 00:00:01";
$endtime=$date."-".date("t")." 23:59:59";
}
elseif($day==3)//本年信息
{
$date=date("Y");
$starttime=$date."-01-01 00:00:01";
$endtime=($date+1)."-01-01 00:00:01";
}
elseif($day>10)//本年某月信息
{
$yue=$day-10;
$date=date("Y");
$starttime=$date."-".$yue."-01 00:00:01";
if($yue==12){$endtime=$date."-".$yue."-31 23:59:59";}else{$endtime=$date."-".($yue+1)."-01 00:00:01";}
}
$and=" and newstime>=".to_time($starttime)." and newstime<=".to_time($endtime);
}
if($enews==1)//统计标题分类
{
if(empty($class_tr[$classid][tbname]))
{
echo $fun_r['BqErrorTtid']."=<b>".$classid."</b>".$fun_r['BqErrorNtb'];
return "";
}
$query="select ".$totalfield." from {$dbtbpre}ecms_".$class_tr[$classid][tbname]." where ttid='$classid'".$and;
}
elseif($enews==2)//统计数据表
{
$query="select ".$totalfield." from {$dbtbpre}ecms_".$classid.(empty($and)?'':' where '.substr($and,5));
}
else//统计栏目数据
{
if(empty($class_r[$classid][tbname]))
{
echo $fun_r['BqErrorCid']."=<b>".$classid."</b>".$fun_r['BqErrorNtb'];
return "";
}
if($class_r[$classid][islast])//终极栏目
{
$where="classid='$classid'";
}
else//大栏目
{
$where=ReturnClass($class_r[$classid][sonclass]);
}
$query="select ".$totalfield." from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where ".$where.$and;
}
$num=$empire->gettotal($query);
echo $num;
}
?>
2、新建标签代码
后台-模板-标签-标签管理-增加标签-增加内容如下:
标签名:每月信息统计
标签符号:TotalData1
所属类别:
函数名:user_TotalData1
标签格式:[totaldata]栏目ID,操作类型,时间范围,统计类型[/totaldata]
标签说明:
操作类型说明:
操作类型           内容
0          统计栏目数据
1           统计标题分类
2            统计数据表
时间范围:0为不限;1为今日;2为本月;3为本年。
统计类型:0为统计信息数;1为统计评论数;2为统计点击数;3为统计下载数。
如果操作类型是“统计数据表”,栏目ID='数据表名'
[totaldata]栏目ID,操作类型,时间范围,统计类型[/totaldata]
新闻统计
[totaldata]2,0,3,0[/totaldata]
猜你需要

豫ICP备2021026617号-1  豫公网安备:41172602000185   Copyright © 2021-2028 www.78moban.com/ All Rights Reserved

本站作品均来自互联网,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。如有侵犯您的版权,请联系 1565229909#qq.com(把#改成@),我们将立即处理。