当前位置:首页 > 行业动态 > 正文

如何全面掌握DedeCMS中的tag标签调用技巧?

在dedecms中,tag标签调用方法主要包括以下几种:,,1. 使用系统自带函数获取tag标签数据;,2. 使用SQL语句查询tag标签数据;,3. 使用自定义标签插件获取tag标签数据。

dedecms Tag 标签调用方法(大全)

在织梦CMS中,TAG标签是一种由网站管理员自定义的关键词,比分类更准确、更具体,可以概括文章主要内容,合理运用TAG标签,有助于提升文章的搜索引擎排名和用户体验,本文将详细介绍织梦CMS中TAG标签的各种调用方法,包括首页、列表页、文章页等不同位置的调用方式。

Tag标签的基本语法解释

1、基本语法

   {dede:tag row='30' sort='new' getall='0'}
      <a href='[field:link/]'>[field:tag /]</a>
   {/dede:tag}

2、参数说明

row='30':调用条数为30条。

sort='new':排序方式为最新(month)、随机(rand)、每周(week)。

getall='0':获取类型为当前内容页TAG标记(0),获取全部TAG标记(1)。

各种场景下的Tag标签调用方法

1. 最新Tag标签调用

   {dede:tag row='30' sort='new'}
      <a href='[field:link/]'>[field:highlight/]([field:result/])</a>
   {/dede:tag}

2. 当月热门Tag标签调用

   {dede:tag row='30' sort='month'}
      <a href='[field:link/]'>[field:tagname/]([field:result/])</a>
   {/dede:tag}

3. 随机Tag标签调用

   {dede:tag row='60' sort='rand'}
      <a href='[field:link/]'>[field:highlight/]([field:result/])</a>
   {/dede:tag}

4. 采集热门Tags,刷新一次变换一次

   {dede:tag row='10' sort='month' }
      <a class="tag" href='[field:link/]'>[field:tagname/] </a>
   {/dede:tag}
   <script language="javascript">
   <!
   var tag_a=document.getElementsByTagName("a");
   for( i in tag_a){
       var offset=6;
       var num=4;
       if(tag_a[i].className=="tag"){
           var rnd=Math.ceil((num+offset)*Math.random());
           if(rnd>offset){
               tag_a[i].className="tag"+(rndoffset);
           }
       }
   }
   //>
   </script>

5. 文章页Tag标签调用

   {dede:tag table='dede_search_keywords' sort='keyword' row='2' if=''}
      <a class="blue" href='[field:link/]' target=_blank>[field:tag /]</a>
   {/dede:tag}
   或
   {dede:field name='keywords' runphp='yes' }
      if(!empty(@me)){
          $kws = explode(' ',@me);
          @me = "";
          foreach($kws as $k){
              @me .= "<a href='/tag.php?/$k/'>$k</a> ";
          }
          @me= str_replace('+', ' ',trim(@me));
      }
   {/dede:field}

6. 列表页调用TAG标签的方法(dedecms5.7版本)

找到includehelpersarchive.helper.php文件,在底部增加以下代码:

function GetTags_list($aid)
{
    global $dsql;
    $tags = '';
    $query = "SELECT tag FROMma_taglist WHERE aid='$aid' ";
    $dsql>Execute('tag',$query);
    while($row = $dsql>GetArray('tag'))
    {
        $tags .= ($tags=='' ? "<a href='/tags.php?/".urlencode($row['tag'])."'>".$row['tag']."</a>" : ','."<a href='/tags.php?/".urlencode($row['tag'])."'>".$row['tag']."</a>");
    }
    return $tags;
}

在列表需要调用tag标签的位置添加:

[field:id function=GetTags_list(@me)/]

7. 列表页调用TAG标签的方法(dedecms5.6版本)

方法一:直接在模板需要的位置加入以下代码即可:

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

方法二:打开dedecms根目录include/common.func.php,在最底部的“?>”之前加入以下代码:

//岛主:列表页调用tag的方法
function listtag($aid)
{
    $tsql = new DedeSql(false);
    $tags = ”;
    $tsql>SetQuery(“Select i.tag From dede_taglist t left join dede_tagindex i on i.id=t.tid where t.aid=’@me’”);
    $tsql>Execute(‘t’);
    while($row = $tsql>GetArray(‘t’,MYSQL_ASSOC)){
        $tags .= “<a href=’/tag.php?/”.urlencode($row['tag']).”‘>”.$row['tag'].”</a>”;
    }
    @me=$tags;
}

FAQs常见问题解答

1、如何在首页调用最新的Tag标签?

答:在首页模板文件中插入以下代码:

   {dede:tag row='30' sort='new'}
      <a href='[field:link/]'>[field:highlight/]([field:result/])</a>
   {/dede:tag}

这段代码会显示最新的30个Tag标签,并且每个标签都是超链接形式。

2、如何使列表页也能显示Tag标签?

答:对于dedecms5.7版本,需要在includehelpersarchive.helper.php文件中增加一个函数,然后在列表模板中使用这个函数来获取Tag标签,对于dedecms5.6版本,可以直接在模板中添加相应的PHP代码来实现,具体实现方法请参见上面的“列表页调用TAG标签的方法”。

0