织梦dedecms如何调用当前栏目文章数

来源:undefined 2025-01-05 12:39:17 1032

织梦dedecms如何调用当前栏目文章数?

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

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

推荐学习:dedecms教程

步骤/方法

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

//统计栏目文章数

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}

个文档)

1

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

登录后复制

例如:

1

2

3

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

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

{dede:channel type=son } 

登录后复制
[field:typename/]([field:ID  runphp=yes] @me = GetTotalArc(@me);[/field:ID]) {/dede:channel}

最新文章