如何在DedeCMS中为网站栏目添加文章数量统计功能?
- 行业动态
- 2024-10-17
- 4336
要在dede网站中加入栏目文章数统计功能,你需要在相应的模板文件中添加统计代码。具体步骤如下:,,1. 打开dede网站的后台管理界面,找到你想要添加文章数统计的栏目;,2. 点击该栏目,进入栏目设置页面;,3. 在栏目设置页面中找到“模板管理”选项,点击进入;,4. 在模板管理页面中找到你想要添加统计代码的模板文件,点击编辑;,5. 在编辑页面中找到你想要插入统计代码的位置,将以下代码插入到相应位置:,,“ php,,“,,6. 保存修改后的模板文件,然后刷新网站前台页面,你应该能看到文章数统计已经成功添加到相应栏目中。
在DedeCMS中实现栏目文章数统计功能,可以通过多种方法来实现,以下是两种常用的方法及其具体步骤:
方法一:通过include/common.func.php文件添加函数
1、涉及文件:include/common.func.php
2、代码实现:
在include/common.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']; }
3、调用方法:
在模板文件中,可以使用以下代码来显示每个栏目的文章总数:
{dede:type}[field:ID function='GetTotalArc(@me)'/]{/dede:type}篇
或者在栏目名称后面显示:
{dede:type}[field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID]{/dede:type}
方法二:通过include/inc_arcpart_view.php文件修改函数
1、涉及文件:include/inc_arcpart_view.php
2、代码实现:
找到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 dede_archives where typeid='$tid' and arcrank<>1"); $this>dtp>Assign($tagid,$row['dd']); } }
3、调用方法:
在模板文件中,可以使用以下代码来显示每个栏目的文章总数:
{dede:countclass typeid=栏目ID/}
{dede:countclass typeid='2'/}
表格归纳
方法 | 涉及文件 | 代码实现 | 调用方法 |
方法一 | include/common.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']; } | {dede:type}[field:ID function='GetTotalArc(@me)'/]{/dede:type}篇或{dede:type}[field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID]{/dede:type} |
方法二 | include/inc_arcpart_view.php | 修改ParseTemplet()函数,添加统计代码段 | {dede:countclass typeid=栏目ID/} |
FAQs
问题1:如何在首页模板上显示每个栏目的文章总数?
答:可以在首页模板中使用如下代码来显示每个栏目的文章总数:
{dede:channel type='top' typeid=''} <a href='[field:typelink /]'>[field:typename/]</a> ([field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID]) {/dede:channel}
这段代码会在每个栏目名称后面显示其包含的文章总数。
问题2:如何在不同的页面模板中调用这个统计功能?
答:可以在任何需要显示栏目文章总数的模板中插入相应的代码。
在列表页模板中,使用runphp='yes'参数:
{dede:field.typeid runphp='yes'} global $dsql; $row = $dsql>GetOne("select count(*) as dd from dede_archives where typeid = @me"); @me = $row['dd']; {/dede:field.typeid}
在自定义位置显示栏目文章总数,可以使用{dede:countclass typeid=栏目ID/}
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/160513.html