# dedecms tag标签如何增加属性分类及调用

*Published:* 2023-10-26
*Author:* 客服001

#### 温馨提醒

如果文章内容或图片资源失效，请留言反馈，我们会及时处理，谢谢

本文最后更新于2023年10月26日，已超过 180天没有更新



dedecms默认的TAG标签不是很灵活。有时候我们的标签需要进行一个分类，能不能像{dede:arclist}标签的自定义属性（如：flag='c,h'），这样全站调用的时候更灵活。

[![](https://www.xarjtc.com/wp-content/uploads/2023/10/1-22110F94050292.jpg)](https://www.xarjtc.com/wp-content/uploads/2023/10/1-22110F94050292.jpg)

全站调用TAG标签方法一般是：

```
{dede:<a class="tag_link" href="https://www.xarjtc.com/tag/tag" target="_blank" title="查看tag此标签更多文章"><abbr title="">tag</abbr></a> row='100' sort='new' getall='1'}
 <a target="_blank" href='[field:link/]'>[field:tag /]</a>
{/dede:tag}
```

默认的只有以下参数：

row:调用条数

sort:排序方式 month，rand，week

getall:获取类型 0 为当前内容页TAG标记，1为获取全部TAG标记

数据库部分

用Navicat数据库管理工具打开dede\_tagindex数据表（默认的表前缀），依次点击文件 -&gt; 设计表。新增

字段：addtagtype

类型：int

长度：10

也可以用sql命令

```
alter table `dede_tagindex` add `addtagtype` int(10) NOT NULL
```

后台部分

打开后台/dede/tags\_main.php，大概在27行找到

```
$dlist->SetParameter("tag", $tag);
```

下面增加

```
$dlist->SetParameter("addtagtype", $addtagtype);
```

大概在49行找到

```
$query = "UPDATE `#@_tagindex` SET `count`='$count' WHERE id='$tid' ";
```

修改为

```
$query = "UPDATE `#@_tagindex` SET `count`='$count',`addtagtype`='$addtagtype' WHERE id='$tid' ";
```

大概在147行找到

```
$query = " INSERT INTO `#@_tagindex`(`tag`,`count`,`total`,`weekcc`,`monthcc`,`weekup`,`monthup`,`addtime`) VALUES('$keyword','0','1','0','0','$timestamp','$timestamp','$timestamp');";
```

修改为

```
$query = " INSERT INTO `#@_tagindex`(`tag`,`addtagtype`,`count`,`total`,`weekcc`,`monthcc`,`weekup`,`monthup`,`addtime`) VALUES('$keyword','$tagms','0','1','0','0','$timestamp','$timestamp','$timestamp');";
```

打开/dede/templets/tags\_main.htm，找到更新JS

```
function UpdateOne(tid)
{
location = "tags_main.php?action=update&count="+document.getElementById('count'+tid).value+"&tid="+tid;
```

增加tagtype参数，代码修改为

```
function UpdateOne(tid)
{
location = "tags_main.php?action=update&count="+document.getElementById('count'+tid).value+"&addtagtype="+document.getElementById('tagtype'+tid).value+"&tid="+tid;
```

找到：

```
<td width="10%">标签</td>
```

下面增加

```
<td width="10%">属性</td>
```

找到

```
<td>
 <a href="../tags.php?/<?php echo urlencode($fields['tag']); ?>/" target="_blank">{dede:field.tag /}</a>
</td>
```

下面增加

```
<td>
 <input type='text' value='<?php echo $fields['addtagtype']; ?>' id='tagtype<?php echo $fields['id']; ?>' size='5'/>
</td>
```

这里的TAG属性可以根据自己的需要填写任意数字，比如属性是0、1。如果你觉得不直观，那就换成a,b,c之类的，只需要修改dede\_tagindex数据表addtagtype数据类型为varchar，长度为255即可，方法就不详述了，下面是调用方法。

前端模板调用：

```
{dede:sql sql="select * from dede_tagindex where addtagtype='1'"}
属性是1的内容：<a href="/tags?php/[field:tag/]/">[field:tag/]</a>
{/dede:sql}
{dede:sql sql="select * from dede_tagindex where addtagtype='0'"}
属性是0的内容：<a href="/tags?php/[field:tag/]/">[field:tag/]</a>
{/dede:sql}
```

里面的URL路径是默认写法，请根据自己的实际情况修改。数据表前缀请自行修改。