DedeCMS增加TAG属性分类及调用

前端之家收集整理的这篇文章主要介绍了DedeCMS增加TAG属性分类及调用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

前面写过一篇文章Dedecms增加TAG标签描述》,再拓展一下就行,有看不懂的步骤那篇文章写得详细些。

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

PHP">{dede:tag row='100' sort='new' getall='1'} 
[field:tag /] 
{/dede:tag}

 默认的只有以下参数

row:调用条数 sort:排序方式 month,rand,week getall:获取类型 0 为当前内容页TAG标记,1为获取全部TAG标记

数据库部分

用Navicat数据库管理工具打开dede_tagindex数据表(默认的表前缀),依次点击文件 -> 设计表。新增

字段:addtagtype 类型:int 长度:10

也可以用sql命令

PHP">alter table `dede_tagindex` add `addtagtype` int(10) NOT NULL default '';

后台部分

打开后台/dede/tags_main.PHP,大概在27行找到

SetParameter("tag",$tag);
下面增加

SetParameter("addtagtype",$addtagtype); 
大概在49行找到(下面红色的分隔符请去除

PHP">$query = "UPDATE `#分隔符@__tagindex` SET `count`='$count' WHERE id='$tid' ";

修改

PHP">$query = "UPDATE `#分隔符@__tagindex` SET `count`='$count',`addtagtype`='$addtagtype' WHERE id='$tid' ";
大概在147行找到

PHP">$query = " INSERT INTO `#分隔符@__tagindex`(`tag`,`count`,`total`,`weekcc`,`monthcc`,`weekup`,`monthup`,`addtime`) VALUES('$keyword','0','1','$timestamp','$timestamp');";

修改

PHP">$query = " INSERT INTO `#分隔符@__tagindex`(`tag`,`addtagtype`,'$tagms','$timestamp');";
打开/dede/templets/tags_main.htm,找到更新JS

PHP?action=update&count="+document.getElementById('count'+tid).value+"&tid="+tid;

增加tagtype参数,代码修改

PHP?action=update&count="+document.getElementById('count'+tid).value+"&addtagtype="+document.getElementById('tagtype'+tid).value+"&tid="+tid;

找到

标签

下面增加

属性

找到

 

下面增加

' id='tagtype' size='5'/> 

DedeCMS增加TAG属性分类及调用

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

前端模板调用

sql sql="select * from dede_tagindex where addtagtype='1'"} 属性是1的内容 
{/dede:sql} {dede:sql sql="select * from dede_tagindex where addtagtype='0'"} 属性是0的内容: {/dede:sql}

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

猜你在找的Dedecms相关文章