新乡闫锦网络科技有限公司 网站模板下载 网站定制

您现在的位置:主页 > 公司新闻 > 建站教程 > 织梦显示每个tag标签文章数量的方法

织梦显示每个tag标签文章数量的方法

  • 文章内容
  • 用户评价
tag标签是我今天在做时用到最多的一个功能了,到目前还有没有解决好的但,至少学习到一些心得了,下面小编来介绍在调用的tag标签中显示这个tag标签中有多少篇文章了,具体如下。
 

效果如下

dedecms中显示每个tag标签文章数量2种方法

方法一,系统自带的标签

 代码如下 复制代码

{dede:tag type='current'/}

直接使用此标签就可以了,不过要注意我们如果后台不统计有时会不准确,统计方法是:采集->tag标签管理 然后点击右边有如下图。

 

dedecms中显示每个tag标签文章数量2种方法


方法二,二次开发出来的

修改/include/taglib/tag.lib.php这个文件,找到第87行左右的“$row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";‘
在这行的下面添加如下代码:

 代码如下  

$count = $dsql->GetOne("Select count(tid) From `dede_taglist` where tag = '".$row['tag']."'");
$row['count'] = $count['count(tid)'];

添加好后就可以通过[field:count/]来获取当前tag标签关联的文章数量了,例如:

 代码如下  

{dede:tag sort='hot' getall='2'}  
 <li><a title="[field:count/]个话题" href="[field:link/]">[field:tag /]</a></li>
{/dede:tag}


dede标签调用的基本语法是: {dede:tag row='30' sort='new' getall='0'} 
<a href='[field:link/]'>[field:tag /]</a> 
{/dede:tag} 

参数说明: 
row='30' 调用条数 
sort='new' 排序方式 month,rand,week 
getall='0' 获取类型 0 为当前内容页TAG标记,1为获取全部TAG标记 
另有 

最新标签 
{dede:tag row='30' sort='new'} [field:highlight/]([field:result/]) {/dede:tag} 

当月热门标签 
{dede:tag row='30' sort='month'} [field:tagname/]([field:result/]) {/dede:tag} 

随机标签 
{dede:tag row='60' sort='rand'} [field:highlight/]([field:result/]) {/dede:tag} 

内容页tag添加: 
{dede:tag type='current'/} 

首页,列表页及文章页调用tag标签的方法

1,首页,列表页和文章页调用所的tag标签

{dede:tag row='8' getall='1' sort='month'}
支持属性
row|30   行数
sort|new   排序
getall|0 调用类型
可以查看/include/taglib/tag.lib.php

2,列表页调用每一篇文章的tag标签

[field:id runphp=yes]
     $tsql = new DedeSql(false);
     $tags = '';
     $tsql->SetQuery("Select i.tag From ying_taglist t left join ying_tagindex i on i.id=t.tid where t.aid='@me'");
     $tsql->Execute('t');
     while($row = $tsql->GetArray('t',MYSQL_ASSOC)){
       $tags .= "<a href='/tags.php?/".urlencode($row['tag'])."'>".$row['tag']."</a>";       
     }
     @me=$tags;
[/field:id]

3,文章页调用该篇正文的tag标签

{dede:field.tags/}

默认的TAG是无链接的,如果你希望该tag带上链接,则打开include/common.func.php ,大约755行,找到

//获得某文档的所有tag
function GetTags($aid)
{
 global $dsql;
 $tags = '';
 $query = "Select tag From `ying_taglist` where aid='$aid' ";
 $dsql->Execute('tag',$query);
 while($row = $dsql->GetArray('tag'))
 {
  $tags .= ($tags=='' ? $row['tag'] : ','.$row['tag']);
 }
 return $tags;
}

修改为

//获得某文档的所有tag
function GetTags($aid)
{
     global $dsql;
     $tags = '';
     $query = "Select tag From `dede_taglist` where aid='$aid' ";
     $dsql->Execute('tag',$query);
     while($row = $dsql->GetArray('tag'))
     {
         $tags.= ($tags=='' ? "<a  href=/tags.php?/{$row['tag']} target=_blank>{$row['tag']}</a>" : ','."<a href=/tags.php?/{$row['tag']} target=_blank>{$row['tag']}</a>");
     }
     return $tags;
}

声明:本站所有织梦模板/文章除标明原创外,均来自网络转载,版权归原作者所有,如果有侵犯到您的权益,请联系本站删除 网站管理员QQ:3078828304

收缩