html,{dede:field name='total'/},
“,,将上述代码插入到列表页模板的相应位置,即可显示当前栏目下内容的数量。在DedeCMS中,调用当前栏目下内容数量的方法主要有以下几种:
1、方法一:
文件位置:include/common.func.php 或 include/extend.func.php。
代码添加:在文件末尾添加如下函数代码。
function getTotalArcByTid($tid, $level=TRUE) { global $dsql; $level==TRUE && $tid = GetSonTypeID($tid); $sql = "SELECT count(id) as total fromdede_archives
where typeid in($tid)"; $result = $dsql>GetOne($sql); return $result['total']; } function GetSonTypeID($tid){ global $dsql; $dsql>SetQuery("Select id Fromdede_arctype
where reid in($tid) And ishidden<>1 order by sortrank"); $dsql>Execute($tid); $typeid = ''; while($row=$dsql>GetObject($tid)){ $typeid .= "{$row>id},"; $typeid .= GetSonTypeID($row>id); } return trim($typeid, ','); }
模板调用:在需要显示文章数量的模板文件中使用如下标签。
{dede:field name='typeid' function="getTotalArcByTid(@me)"/}
2、方法二:
文件位置:include/common.func.php 或 include/extend.func.php。
代码添加:在文件末尾添加如下函数代码。
function GetTotalArc($tid){ global $dsql; $sql = GetSonIds($tid); $row = $dsql>GetOne("Select count(id) as dd From dede_archives where typeid in({$sql})"); return $row['dd']; }
模板调用:在需要显示文章数量的模板文件中使用如下标签。
[field:ID function='GetTotalArc(@me)'/]
3、方法三:
文件位置:include/common.func.php 或 include/extend.func.php。
代码添加:在文件末尾添加如下函数代码。
function getTotalArcByTid($tid, $level=TRUE) { global $dsql; $level==TRUE && $tid = GetSonTypeID($tid); $sql = "SELECT count(id) as total fromdede_archives
where typeid in($tid)"; $result = $dsql>GetOne($sql); return $result['total']; } function GetSonTypeID($tid){ global $dsql; $dsql>SetQuery("Select id Fromdede_arctype
where reid in($tid) And ishidden<>1 order by sortrank"); $dsql>Execute($tid); $typeid = ''; while($row=$dsql>GetObject($tid)) { $typeid .= "{$row>id},"; $typeid .= GetSonTypeID($row>id); } return trim($typeid, ','); }
模板调用:在需要显示文章数量的模板文件中使用如下标签。
{dede:field name='typeid' function="getTotalArcByTid(@me)"/}
表格对比
方法 | 文件位置 | 函数名称 | 函数代码 | 模板调用 |
方法一 | include/common.func.php 或 include/extend.func.php | getTotalArcByTid、GetSonTypeID | [见上文] | {dede:field name=’typeid’ function=”getTotalArcByTid(@me)”/} |
方法二 | include/common.func.php 或 include/extend.func.php | GetTotalArc | [见上文] | [field:ID function=’GetTotalArc(@me)’/] |
方法三 | include/common.func.php 或 include/extend.func.php | getTotalArcByTid、GetSonTypeID | [见上文] | {dede:field name=’typeid’ function=”getTotalArcByTid(@me)”/} |
相关问答FAQs
1、如何在主页模板中显示每个栏目的文章总数?:在主页模板中,可以使用如下标签来显示每个栏目的文章总数:{dede:channel type=’top’ row=’8′ currentstyle="<li class=’thisclass’><a href=’~typelink~’>~typename~ ({dede:field name=’typeid’ function="getTotalArcByTid(@me)"/})</a></li>"}/dede:channel}。
2、如何获取指定栏目及其所有子栏目的文章总数?:要获取指定栏目及其所有子栏目的文章总数,可以在模板中调用自定义函数getTotalArcByTid,具体代码为:{dede:field name=’typeid’ function="getTotalArcByTid(@me)"/}。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1227780.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复