帝国CMS在列表页调用文章的同时调用TAG标签

​ 帝国CMS还是非常强大的,虽然对于新手来说不友好,但是互联网上帝国CMS的教程还是非常多的,只要你有耐心,一个个的测试,一定会找到自己适合的网站模板代码。先来说一下今天的问题,就是列表页调用栏目内容的时候,能够同时显示文章的TAG标签,特别是在帝国CMS列表的list.var中调用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
$nsmalltext=$r[smalltext];
$ntext=strip_tags($nsmalltext);//去除内容简介里的HTML标签
$newtext=esub($ntext,100,'...');//限制100字
$keyboard=$r[keyboard];
$r_tag=explode(",",$keyboard);
$tempid=1;//这里是搜索模板ID
for($i=0;$i<count($r_tag);$i++)
{
if($r_tag[$i])
{
$tagslink=$public_r[newsurl]."e/tags/?tagname=".$r_tag[$i];//链接
$tagslink=$public_r[newsurl]."e/search/?searchget=1&tbname=$tbname& amp;tempid=$tempid&show=keyboard&keyboard=".$r_tag[$i];//如果链接到搜索 页面用此行代码,如果不是请删除
$tagslink=$public_r[newsurl]."tags-".$r_tag[$i]."-0.htm";//如果链接到伪静态,而且设置的伪静态规则于此类似,页面用此行代码,如果不是请删除
$tags.="<a href='$tagslink' target='_blank'>".$r_tag[$i]."</a> ";
}
}
$listtemp='
<div class="m_2">
<div class="m_2_a"><a href="[!--titleurl--]" title="[!--oldtitle--]">[!--title--]</a>[[!--newstime--]]</div>
<p> [!--smalltext--]...<a href="[!--titleurl--]" class="link2">[详情]</a></p>
<div class="cont_4">标签:'.$tags.'</div>
<div class="cont_2"><span>来源:</span>[!--username--]<span>作者:</span>www.laoliublog.com<span>点击率:</span>[!--onclick--]</div>
</div>
';

帝国CMS列表页中的list.var调用标签大全,缩略图,时间,简介,标题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<article class="post_main post_blog">
<a href="[!--titleurl--]" class="thumbs" data-type="mip" data-title="[!--oldtitle--]" title="[!--oldtitle--]">
<mip-img layout="container" src="[!--titlepic--]?[!--titlepic--]:'/e/data/images/notimg.gif'" alt="[!--oldtitle--]"></mip-img>
</a>
<h2><a href="[!--titleurl--]" data-type="mip" data-title="[!--oldtitle--]" title="[!--oldtitle--]">[!--title--]</a></h2>
<div class="excerpt">[!--smalltext--]…</div>
<div class="postinfo">
<div class="left">
<span class="author">
<a href="[!--this.classlink--]" title="[!--this.classname--]"><i class="icon icon-user-1"></i>[!--this.classname--]</a> </span>
<span class="date">
<i class="icon icon-calendar-1"></i><b>[!--newstime--]</b>
</span>
</div>
<div class="right">
<span class="view">
<i class="icon icon-eye-1"></i><b>[!--onclick--]</b>
</span>
</div>
</div>
</article>

记录一下我自己的网站使用的代码,方便日后的替换

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
$nsmalltext=$r[smalltext]; 
$ntext=strip_tags($nsmalltext);//去除内容简介里的HTML标签
$newtext=esub($ntext,100,'...') ;//限制100字
$keyboard=$r[keyboard];
$r_tag=explode(",",$keyboard);
$tempid=1;//这里是搜索模板ID
for($i=0;$i<count($r_tag);$i++)
{
if($r_tag[$i])
{
$tagslink=$public_r[newsurl]."tags-".$r_tag[$i]."-0.html";//链接
$tags.="<a href='$tagslink' target='_blank'>".$r_tag[$i]."</a> ";
}
}
$listtemp='
<article class="article-list br mb sb clearfix">
<figure class="figure fl">
<a class="thumbnail" href="[!--titleurl--]" title="[!--title--] " ><img class="img-cover br" src="[!--titlepic--]" alt="[!--title--] " title="[!--title--] "></a>
</figure>
<div class="content">
<h2 class="title ellipsis m-multi-ellipsis"><a href="[!--titleurl--]" title="[!--title--]">[!--title--] </a></h2>
<p class="intro hidden-sm">[!--smalltext--]……</p>
<p class="data clearfix">
<span class="hidden-sm-md-lg author fl"><i class="iconfont-air icon-user"></i>[!--writer--]</span>
<time class="time fl" datetime="[!--newstime--]" title="[!--title--]">
<i class="iconfont-air icon-time"></i>[!--newstime--]</time>
<span class="view fl"><i class="iconfont-air icon-view"></i>[!--onclick--]</span>
<span class="hidden-sm-md-lg tag ellipsis fr">标签:'.$tags.'</span>
</p>
</div>
</article>
';

记录一下上面代码的核心问题:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$nsmalltext=$r[smalltext];
$ntext=strip_tags($nsmalltext);//去除内容简介里的HTML标签
$newtext=esub($ntext,100,'...') ;//限制100字
$keyboard=$r[keyboard];
$r_tag=explode(",",$keyboard);
$tempid=1;//这里是搜索模板ID
for($i=0;$i<count($r_tag);$i++)
{
if($r_tag[$i])
{
$tagslink=$public_r[newsurl]."e/tags/?tagname=".$r_tag[$i];//链接
$tags.="<em><a href='$tagslink' target='_blank'>".$r_tag[$i]."</a></em> ";
}
}
$listtemp='你自己的栏目循环代码';

有些时候,帝国CMS也会出一些稀奇古怪的问题,例如帝国CMS的Tags伪静态中文时提示此TAG不存在时,如果你试过了帝国论坛各种解决方案以后,还是解决不了Tags伪静态中文提示此TAG不存在的问题的时候,不防看最后一个解决方案,打开/e/tags/index.php文件,然后查找

1
$tagname=RepPostVar($_GET['tagname']); 

将上面的代码替换为

1
$tagname=RepPostVar(iconv('gb2312', 'utf-8', $_GET['tagname']));

好了,感谢大家来到老刘博客,希望上面的闲言碎语能够帮助到你。