?DedeCMS的TAG标签不是很灵活,有时候我们的标签需要进行一个分类,能不能像{dede:arclist}标签的自定义属性(如:flag='c,h'),这样全站调用的时候更灵活。
?前面写过一篇文章《DedeCMS织梦增加TAG标签描述》,再拓展一下就行,有看不懂的步骤那篇文章写得详细些。
全站调用TAG标签方法一般是
{dede:tag 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数据表(默认的表前缀),依次点击文件 -> 设计表。新增
字段: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); //by www.52php.cn
|
? ? ? ? 大概在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','$timestamp','$timestamp');";
|
? ? ? ? 修改为
$query = " INSERT INTO `#分隔符@__tagindex`(`tag`,`addtagtype`,'$tagms','$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>
<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路径是默认写法,请根据自己的实际情况修改。数据表前缀请自行修改。
上一篇:DedeCMS织梦程序移动data文件夹完整教程
下一篇:DedeCMS织梦增加TAG标签SEO描述
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|