帝国CMS修改tags标签的调用样式

我们在使用帝国CMS建设网站时候,难免会用到Tags标签调用的问题,毋庸置疑的,帝国CMS的Tags标签还是非常强大的,特别是有一位朋友开发了一个Tags标签插件,简直强大到起飞,可惜我看了看官方网站太贵了,但是可以购买到相关产品。不过我们今天的教程主要是修改帝国CMS的Tags标签的调用样式,不是讨论帝国CMS的Tags标签强大与否。

一般情况下,我们调用的Tags标签代码的链接是

1
<a href="#" target="_blank">XXXX</a>

这种链接有一个不好的地方,就是会在浏览器的新窗口打开链接,主要因素还是

1
target="_blank"

标签在起作用,有些朋友不知道如何修改这个样式,毕竟帝国CMS的代码太复杂了,其实这个代码在e/class/t_functions.php文件中,按照路径和文件名找到之后打开,然后在里面搜索

1
2
//显示TAGS
function sys_eShowTags($cid,$num=0,$line=0,$order='',$isgood='',$isgoodshow='',$showjg='',$shownum=0,$cs='',$vartype=''){

其实主要是搜索

1
//显示TAGS

这串文字就可以,前面的主要是想着占篇幅,然后回到找如下代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
//显示TAGS
function sys_eShowTags($cid,$num=0,$line=0,$order='',$isgood='',$isgoodshow='',$showjg='',$shownum=0,$cs='',$vartype=''){
global $empire,$dbtbpre,$public_r,$navinfor;
$str='';
if(empty($showjg))
{
$showjg=' &nbsp; ';
}
$ln=0;
if($cid=='selfinfo')
{
if(empty($navinfor['infotags']))
{
return '';
}
$jg='';
$r=explode(',',$navinfor['infotags']);
$count=count($r);
for($i=0;$i<$count;$i++)
{
$ln++;
$br='';
if($line)
{
if($ln%$line==0)
{
$br='<br>';
}
}
//TAGSID
if($vartype=='tagid')
{
$tagr=$empire->fetch1("select tagid from {$dbtbpre}enewstags where tagname='".RepPostVar($r[$i])."' limit 1");
}
if(empty($cs)&&!empty($public_r['rewritetags']))
{
if($vartype=='tagid')
{
$rewriter=eReturnRewriteTagsUrl($tagr['tagid'],'etagid'.$tagr['tagid'],1);
$tagsurl=$rewriter['pageurl'];
}
else
{
$rewriter=eReturnRewriteTagsUrl(0,$r[$i],1);
$tagsurl=$rewriter['pageurl'];
}
}
else
{
$tagsurl=$public_r[newsurl].'e/tags/?'.($vartype=='tagid'?'tagid='.$tagr['tagid']:'tagname='.urlencode($r[$i])).$cs;
}
$str.=$jg.'<a href="'.$tagsurl.'" target="_blank">'.$r[$i].'</a>'.$br;
$jg=$br?'':$showjg;
}
}
else
{
$and='';
$where='';
if($cid)
{
$where=strstr($cid,',')?"cid in ($cid)":"cid='$cid'";
$and=' and ';
}
if($isgood)
{
$where.=$and.'isgood=1';
}
if($where)
{
$where=' where '.$where;
}
$order=$order?' '.$order:' tagid desc';
$limit='';
if($num)
{
$limit=' limit '.$num;
}
//推荐标红
$gfont1='';
$gfont2='';
if($isgoodshow)
{
if(strstr($isgoodshow,'r'))
{
$gfont1='<font color="red">';
$gfont2='</font>';
}
if(strstr($isgoodshow,'s'))
{
$gfont1=$gfont1.'<b>';
$gfont2='</b>'.$gfont2;
}
}
$jg='';
$snum='';
$sql=$empire->query("select tagid,tagname,num,isgood from {$dbtbpre}enewstags".$where." order by".$order.$limit);
while($r=$empire->fetch($sql))
{
if($shownum)
{
$snum='('.$r[num].')';
}
$font1='';
$font2='';
if($isgoodshow&&$r[isgood])
{
$font1=$gfont1;
$font2=$gfont2;
}
$ln++;
$br='';
if($line)
{
if($ln%$line==0)
{
$br='<br>';
}
}
if(empty($cs)&&!empty($public_r['rewritetags']))
{
$rewriter=eReturnRewriteTagsUrl($r['tagid'],$vartype=='tagid'?'etagid'.$r['tagid']:$r['tagname'],1);
$tagsurl=$rewriter['pageurl'];
}
else
{
$tagsurl=$public_r[newsurl].'e/tags/?'.($vartype=='tagid'?'tagid='.$r[tagid]:'tagname='.urlencode($r[tagname])).$cs;
}
$str.=$jg.'<a href="'.$tagsurl.'" target="_blank">'.$font1.$r[tagname].$snum.$font2.'</a>'.$br;
$jg=$br?'':$showjg;
}
}
echo $str;
}

别嫌弃代码多,前面的主要是占篇幅,最后的一句代码才是我们需要的代码

1
$str.=$jg.'<a href="'.$tagsurl.'" target="_blank">'.$font1.$r[tagname].$snum.$font2.'</a>'.$br;

只需要去掉代码之中的target="_blank"就可以了,当然在这里还可以适当的添加自己的代码样式,例如可以修改成

1
$str.=$jg.'<li><a href="'.$tagsurl.'">'.$font1.$r[tagname].$snum.$font2.'</a></li>'.$br;

上面的样式,只是简单的添加了一个Li标签样式,看到这里,感谢你这没有耐心爱学习,不过这篇文章主要是为了占篇幅,您只需要找准最后的代码,然后选择自己一个喜欢的样式就可以,当然了,改来改去别忘记保存。最后您还需要进行后台的更新,谢谢大家。