dedecmsCMStag标签默认是全站调用的,不能按栏目调用当前栏目的tag标签,那么如何让标签按栏目显示,只显示当前栏目的所有标签呢?网上找了些dedecmsCMS朋友总结的方法,至此dedecmsCMS模版网感觉dedecmsCMS标签真的很强大。下面就是修改和调用TAG标签的方法:
一、打开include/taglib/目录下的 tag.lib.php 文件
找到下面这段代码:
1
if
($getall==0 && isset($refObj->Fields[
'tags'
]) && !empty($refObj->Fields[
'aid'
]))
灵活修改为下面代码,注意对比文件的结束位置:
查看源码
打印代码帮助
01
if
($getall==0 && isset($refObj->Fields[
'tags'
]) && !empty($refObj->Fields[
'aid'
]))
02
{
03
$dsql->SetQuery(
"Select tid From `dede_taglist` where aid = '{$refObj->Fields['aid']}' "
);
04
$dsql->Execute();
05
$ids =
''
;
06
while
($row = $dsql->GetArray())
07
{
08
$ids .= ( $ids==
''
? $row[
'tid'
] :
','
.$row[
'tid'
] );
09
}
10
if
($ids !=
''
)
11
{
12
$addsql =
" where id in($ids) "
;
13
}
14
if
($addsql==
''
)
return
''
;
15
}
16
17
else
if
($getall==2)
18
{
19
$addsql =
" where typeid='{$refObj->Fields['typeid']}' "
;
20
}
21
else
22
{
23
if
(!empty($typeid))
24
{
25
$addsql =
" where typeid='$typeid' "
;
26
}
以下部分代码是调用当前栏目TAG标签的方法。
1
{dede:tag
sort
=
'hot'
getall=
'2'
}
2
3
<a href=
'[field:link/]'
>[field:tag /]</a>
4
5
{/dede:tag}
THE END