dedecms统计当前频道,当天更新的文章数量

dedecms统计当前频道,当天更新的文章数量,第1张

Dedecms的标签调用的是有区域限制的,一些标签只能在文章页和首页以及频道页才能调用,但是单页面也想调用“最新文章”等一些文章列表,如果是用{dede:arclist} {dede:arclist /}这些标签肯定是调用不了的,哪要怎么办呢这个不用怕,这个问题dedecms早就想到了,在dedecms中有个“宏标签”功能,用这个功能可以实现全站调用。

  宏标签的设置:

  打开dedecms后台——>模板-->自定义宏标签-->智能标志向导

  1 选择一个你要的列表样式

  2 设置“调用栏目”,这里不用说了,就是想要调用的栏目。

  3 设置调用显示列表的文章条数,显示列数,标题长度,不过不设置也没事,回头想改还可以更改的。

  4 提取特定文档,如果你有需要调用特定的文章就要选择一下,如果么有,就不用选择。

  5 单条记录样式,这个有点重要,现在文章列表很多都是用<li></li>标签来做的,但是这里默认不是,如果你要在调用的时候适合你的页面,你需要自己修改一下,怎么修改

  这里示范一下,

  默认的标签:

  修改为<li></li>标签对的:

  还有很多功能,自己看支持字段。

  6“生成模版调用标记”

  7保存为自定义标记,这个很重要,一定要保存才可以了。要不下一步就么有内容可以做。

  8回到模板-->自定义宏标记 ,可以看到刚才保存的宏标记,如果不保存,这里是没有的。

  9点击“js调用”进行js调用代码提取

  10将刚才复制的那段js代码粘贴到你要的地方即可

  宏标签调用到此完成。

一、文章说明:

能正常登录到dede后台,但是在打开所有档案列表,查看文章时,却发现,文章列表是空白,什么都不显示,一般出现这种情况多是因为权限问题,本文就说一下作者的解决方法。

二、dede系统后台列表页空白没有文章

第1步:使用ssh工具登录到服务器上查看网站是否属于www用户,如果不是www用户,在终端执行以下命令。

chown -R www /mnt/www/wwwinternetkecom

/mnt/www/wwwinternetkecom是作者的网站目录地址,大家需要根据自己的网站目录地址进行相应修改,修改后,网站中所有权就属于www用户了。

第2步:修改网站权限为755,在终端执行以下命令。

chmod -R 755 /mnt/www/wwwinternetkecom

755是所有者居有最高权限,其他用户只能读取和执行权限,却没有写入权限。

第3步:一般来说完成第一二步,再重新登录一下网站后台即可发现已经正常了,如果还没正常应该是mysql数据库问题。找到mysql数据库地址,在终端执行以下命令。

chmod -R 777 /mnt/mysql

第4步:重启mysql,在终端执行以下命令。

/etc/initd/mysql restart

你好,根据你提的问题找到相关的解决方法,你可以参考一下

第一种:根据所在栏目ID自动判断显示所在栏目的文章数   

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

第二种:指定栏目ID   

{dede:sql sql="SELECT count( ID ) AS c FROM dede_archives where typeid = 栏目id "}

第三种:DedeCMS栏目文章数量统计调用,栏目名称按照文章数量排列  

{dede:sql sql='SELECT dtypename,did,count(daid) as heji FROM dede_arctype d left join 

dede_archives da on datypeid=did where dreid=0 group by dtypename  order by heji desc limit 0,8;'}   

<span class="text_1"><span class="count">[[field:heji/]篇]</span>

<a href="http://你的网址/plus/listphptid=[field:id/]">[field:typename/]共投递稿件</a></span><br /> 

{/dede:sql}

第四种:   修改include/commonfuncphp    在最后加入代码: 

//统计栏目文章数   

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'];  }     

在htm 最下方添加:    

{dede:channel type='top' row='8'}

<LI>[field:typename/]

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

</LI>

{/dede:channel}    

如果想调用副栏目的数量 就是   

//统计栏目文章数   

function GetTotalArc($tid2){     

global $dsql;     

$sql = GetSonIds($tid2);     

$row = $dsql->GetOne("Select count(id) as dd From dede_archives where typeid2 in({$sql})");     

return $row['dd'];  }

HTM页面不变  现在我们来说说动态调用栏目文章数:  

动态调用主要针对当前列表页的栏目,而当前的栏目是动态的,因此可以利用type标签调用一个函数就行了。  

要调用函数就得增加函数,打开include/commonfuncphp,在其中任一行(<与>的中间任一行)中加上如下函数。 

function dynamic_num($current_id){ 

global $dsql; $t_num = $dsql->GetOne("select count() as num from `dede_archives` where typeid='$current_id'"); 

if(is_array($t_num))

{   

return "本栏目共有"$t_num[num]"篇文章"; }

else{   

return "本栏目共有0篇文章" ; }

 }

在列表页中这样调用:  

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

{dede:sql sql="SELECT count(  ) AS c FROM cmsxx_archives WHERE pubdate > UNIX_TIMESTAMP( CURDATE( ) ) "}             

<li class="count">今日更新:<span>[field:c/]</span> 篇</li>             

{/dede:sql}             

{dede:sql sql="Select count(ID) as c From cmsxx_archives WHERE FROM_UNIXTIME(pubdate,'%m')=month(curdate())"}             

<li class="count">当月更新:<span>[field:c/]</span> 篇</li>             

{/dede:sql}                  

{dede:sql sql="select count() as c from cmsxx_archives}             

<li class="count">共有文章:<span>[field:c/]</span> 篇</li>             

{/dede:sql}             

{dede:sql sql="select sum(click) as c from cmsxx_archives"}             

<li class="count">总共阅读:<span>[field:c/]</span> 人次</li>             

{/dede:sql}             

{dede:sql sql="select count(mid) as c from cmsxx_member "}  

<li class="count">共有会员:<span>[field:c/]</span> 名</li>             

{/dede:sql}

还可以指定栏目ID,例如: 

{dede:sql sql="select count() as c from cmsxx_archives where channel in(1,2,3,5,6,9)"}             

<li class="count">共有文章:<span>[field:c/]</span> 篇</li>             

{/dede:sql}

希望以上方法能够帮助到你。

可能原因:

1没有更新栏目列表页,

首页调用的是php文件,会调用数据库内容,添加新文章后首页自然有显示,而你的栏目页使用静态页,如果不在添加文章后更新相关栏目页,自然就无法显示新增加的文章

2列表页模板标签错误

根据你的问题,最有可能是第一种情况

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » dedecms统计当前频道,当天更新的文章数量

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情