在织梦dedecms中,你可以使用内置的标签来调用栏目的文章数。具体代码如下:,,“php,{dede:field name='channel'/},
“,,这个标签会输出对应栏目的文章数。
在织梦DedeCMS中,调用栏目文章数并统计对应栏目的文章数可以通过自定义函数的方法来实现,以下是详细步骤和代码示例:
方法一:自定义函数法
1、修改include/common.func.php文件:
打开include/common.func.php文件,在最后添加以下代码:
“`php
// 统计栏目文章数
function GetTotalArc($tid) {
global $dsql;
$sql = GetSonIds($tid);
$row = $dsql>GetOne("Select count(id) as dd From#@__archives
where typeid in({$sql})");
return $row[‘dd’];
}
// 统计当前栏目信息数
function dynamic_num($current_id) {
global $dsql;
// 读取当前栏目的子ID
$sql = "SELECT id FROM#@__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#@__archives
where typeid in($ty)");
//echo $t_num[num];
if (is_array($t_num)) {
return " " . $t_num[num] . " ";
} else {
return "0";
}
}
“`
2、模板里的调用代码:
在模板文件中使用以下代码来显示栏目及其文章数:
“`html
{dede:field name=’typename’/}(该类拥有{dede:type}[field:id function="dynamic_num(@me)" /]{/dede:type}个文档)
{dede:channel type=’son’ }
通过栏目ID获取栏目信息 |
{dede:arctype id='1'} |
typename |
获取栏目名称 |
{dede:arctype id='1'/ typename} |
id |
获取栏目ID |
{dede:arctype id='1'/ id} |
{dede:arc num='10' titlelen='10' orderby='pubdate' row='10' listype='1' typeid='1'} |
获取指定栏目下的文章列表 |
{dede:arc num='10' titlelen='10' orderby='pubdate' row='10' listype='1' typeid='1'} |
totalcount |
获取文章总数 |
{dede:arc num='10' titlelen='10'orderby='pubdate' row='10' listype='1' typeid='1'/ totalcount} |
{dede:sql sql='SELECT COUNT(*) FROM dede_arctype WHERE id={dede:arctype id='1'/ id}'} |
通过SQL查询获取文章数 |
{dede:sql sql='SELECT COUNT(*) FROM dede_arctype WHERE id={dede:arctype id='1'/ id}'} |
{dede:sql sql='SELECT COUNT(*) FROM dede_arctype WHERE typeid={dede:arctype id='1'/ id}'} |
通过栏目ID获取文章数 |
{dede:sql sql='SELECT COUNT(*) FROM dede_arctype WHERE typeid={dede:arctype id='1'/ id}'} |
通过以上方法,您可以在织梦dedecms中调用栏目文章数,并统计对应栏目的文章数。