
这么长时间以来,一直想着实现一个功能,就是在调用文章信息的同时,能够实现调用文章的Tags标签,不仅仅是列表页,首页也是如此,特别是对于博客类型的文章,调用文章的时候同时调用出文章的Tags标签,对于博客还是非常有帮助的。今天终于实现了在首页中调用文章+Tags的功能。
方法1、调用信息的全部tag
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 
 | [e:loop={"select id, title, titleurl, smalltext, newstime, titlepic from [!db.pre!]ecms_news order by id desc limit 30",0,24,0}]<?php
 $tags='';
 $fr=$empire->fetch1("select infotags from {$dbtbpre}ecms_news_data_1 where id='$bqr[id]'");
 $tag1=''.$fr[infotags].'';
 $r_tag=explode(",",$tag1);
 {
 for($i=0;$i<count($r_tag);$i++)
 if($r_tag[$i])
 {
 $tagslink=$public_r[newsurl]."e/tags/?tagname=".$r_tag[$i];//链接
 $tags.="<a href='$tagslink' target='_blank'>".$r_tag[$i]."</a>   ";
 }
 if(empty($fr[infotags]))
 {
 $tags="无";
 }
 }
 ?>
 <?=esub($bqr[title],108)?> | <?=$tags?>
 <br/><br/>
 [/e:loop]
 
 | 
或[e:loop={34,10,0,0}]格式,限制数量,把$i<count($r_tag)修改为$i<count($r_tag)&&$i<限制数量
方法2、调用信息的tag时,可控制输出个数
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 
 | [e:loop={"select id, title, titleurl, smalltext, newstime, titlepic from [!db.pre!]ecms_news order by id desc limit 30",0,24,0}]<?php
 $fr=$empire->fetch1("select infotags from {$dbtbpre}ecms_news_data_1 where id='$bqr[id]'");
 $tag1=''.$fr[infotags].'';
 $r_tag=explode(",",$tag1);
 for($p=0;$i<count($r_tag);$i++)
 ?>
 <?=esub($bqr[title],108)?> | <a href="<?=$public_r['newsurl']?>e/tags/?tagname=<?=$r_tag[0]?>" target='_blank'><?=$r_tag[0]?></a> <a href="<?=$public_r['newsurl']?>e/tags/?tagname=<?=$r_tag[1]?>" target='_blank'><?=$r_tag[1]?></a> <a href="<?=$public_r['newsurl']?>e/tags/?tagname=<?=$r_tag[2]?>" target='_blank'><?=$r_tag[2]?></a> <a href="<?=$public_r['newsurl']?>e/tags/?tagname=<?=$r_tag[3]?>" target='_blank'><?=$r_tag[3]?></a>
 <br/><br/>
 [/e:loop]
 
 | 
或[e:loop={34,10,0,0}]格式,限制数量,把$i<count($r_tag)修改为$i<count($r_tag)&&$i<限制数量
方法3、调用信息的tag时,可控制输出个数
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 
 | [e:loop={34,10,0,0}]<a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> <br>
 <?
 $tbname=$class_r[$bqr[classid]][tbname];
 $fb=$bqr[stb];
 $ftbname=$dbtbpre."ecms_".$tbname."_data_".$fb;
 $navinfor['infotags'] = $empire->gettotal("select infotags as total  from $ftbname where id='$bqr[id]'"); //结果赋值给$navinfor就是为了使用 showtags标签的selfinfo
 ?>
 Tags:[showtags]'selfinfo',10,0,'',0,'',' ',0,'','tagname'[/showtags]<br>
 [/e:loop]
 
 | 
注释:
| 1
 | [showtags]'selfinfo',10,0,'num desc',0,'s,r',' ',1,'tagname'[/showtags]
 | 
| 1
 | 'tagname':链接使用变量(一般为tagname和tagid)
 | 
我使用的代码是第三种,按照解释说明来看,应该是能够设置Tags的显示数量,可惜我修改了代码之中的数值,还是没有实现这个数量的控制。