78模板网分享cms建站教程,提供网站模板、网站插件、办公模板等模板教程免费学习,找模板教程就上78模板网!

织梦教程:dedecms调用当前栏目文章数方法

一流源码网做模板时,经常需要为每个栏目加上此栏目的文章数。和大家分享下实现的方法,此方法适合5.6及5.7、5.7sp1其它未测

步骤/方法

修改 include/common.func.php文件,在最后加以下代码:

//统计栏目文章数

function GetTotalArc($tid){

global $dsql;

$sql = GetSonIds($tid);

$row = $dsql->GetOne("Select count(id) as dd From zmb_archives where typeid 

in({$sql})");

return $row['dd'];

}

//统计当前栏目信息数 

function dynamic_num($current_id){ 

global $dsql; 

//读取当前栏目的子ID 

$sql = "SELECT id FROM zmb_arctype WHERE id='$current_id' || 

topid='$current_id'"; 

$dsql->SetQuery($sql); 

$dsql->Execute(); 

while($row = $dsql->GetArray()){ 

$arr[]=$row[id]; 

foreach($arr as $key=>$value){ 

$type .= $value . ','; 

$ty= "".$type."0"; 

//echo $ty; 

$t_num = $dsql->GetOne("select count(*) as num from zmb_archives where typeid 

in($ty)"); 

//echo $t_num[num]; 

if(is_array($t_num)){ 

return " ".$t_num[num]." "; 

}else{ 

return "0" ; 

}

模板里的调用代码:

(该类拥有{dede:type}[field:id function="dynamic_num(@me)" /]{/dede:type}

个文档)

[field:id runphp='yes'] @me = GetTotalArc(@me);[/field:id]

例如:

{dede:field name='typename'/}</b>(该类拥有{dede:type}[field:id 

function="dynamic_num(@me)" /]{/dede:type}个文档)

{dede:channel type='son' } 

<li><a href='[field:typelink/]'>[field:typename/]</a>(<span>[field:ID 

runphp='yes'] @me = GetTotalArc(@me);[/field:ID]</span>)</li>

{/dede:channel}

本文链接:http://78moban.cn/post/2951.html

版权声明:站内所有文章皆来自网络转载,只供模板演示使用,并无任何其它意义!

联系技术
文章删除 友链合作 技术交流群
1050177837
公众号
公众号
公众号
返回顶部