DedeCMS的TAG标签不是很灵活,有时候我们的标签需要进行一个分类,能不能像{dede:arclist}标签的自定义属性(如:flag='c,h'),这样全站调用的时候更灵活。
前面写过一篇文章《DedeCMS增加TAG标签描述》,再拓展一下就行,有看不懂的步骤那篇文章写得详细些。
全站调用TAG标签方法一般是
{dede:tag row='100' sort='new' getall='1'} [field:tag /] {/dede:tag}
默认的只有以下参数
row:调用条数sort:排序方式 month,rand,weekgetall:获取类型 0 为当前内容页TAG标记,1为获取全部TAG标记
数据库部分
用Navicat数据库管理工具打开dede_tagindex数据表(默认的表前缀),依次点击文件 -> 设计表。新增字段:addtagtype类型:int长度:10
也可以用sql命令
alter table `dede_tagindex` add `addtagtype` int(10) NOT NULL default '';
后台部分
打开后台/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;
找到
标签下面增加
属性标签:
本文地址:DedeCMS增加TAG属性分类及调用 https://www.shenqiu123.com/a/jianzhan/rumen/7580.html