有些网友希望为dedecms增加栏目文章统计的功能,这个功能并不复杂,但是dedecms本身并没有此功能,以下是实现的方法:
第一种方法:
1、 修改include/inc_arcpart_view.php文件
找到function ParseTemplet()函数
修改为:
function
ParseTemplet()
{
if ( ! is_array ( $this -> dtp -> CTags)) return "" ;
foreach ( $this -> dtp -> CTags as $tagid => $ctag )
{
$tagname = $ctag -> GetName();
// countclass 统计栏目文章数量
if ( $tagname == " countclass " ){
$tid = $ctag -> GetAtt( " typeid " );
$row = $this -> dsql -> GetOne( " Select count(ID) as dd From #@__archives where typeid='$tid' and arcrank<>-1 " );
$this -> dtp -> Assign( $tagid , $row [ ' dd ' ]);
}
......
{
if ( ! is_array ( $this -> dtp -> CTags)) return "" ;
foreach ( $this -> dtp -> CTags as $tagid => $ctag )
{
$tagname = $ctag -> GetName();
// countclass 统计栏目文章数量
if ( $tagname == " countclass " ){
$tid = $ctag -> GetAtt( " typeid " );
$row = $this -> dsql -> GetOne( " Select count(ID) as dd From #@__archives where typeid='$tid' and arcrank<>-1 " );
$this -> dtp -> Assign( $tagid , $row [ ' dd ' ]);
}
......
2、在网页上调用方法
{dede:countclass typeid=栏目编号/}
例如:
{dede:countclass typeid='2'/}
第二种方法(由 正牌执子之手339709 提供):
1、修改include/inc_functions.php文件,增加函数如下:
function
GetTotalArc(
$tid
){
$dsql = new DedeSql( false );
$row = $dsql -> GetOne( " Select count(ID) as dd From #@__archives where typeid='$tid' " );
return $row [ ' dd ' ];
}
$dsql = new DedeSql( false );
$row = $dsql -> GetOne( " Select count(ID) as dd From #@__archives where typeid='$tid' " );
return $row [ ' dd ' ];
}
2、调用方法
[field:id function='GetTotalArc(@me)'/]
欢迎加入QQ群(48608218)讨论建站技术。