灵动标签e:loop里面如何循环输出TAGS(infotags)或者关键字(keyboard)
内容纲要
灵动标签e:loop循环输出TAGS名称和地址的效果
使用灵动标签制作栏目列表,在调用的文章同时展示其TAGS及其链接,见下图:
TAGS和关键字存放位置
TAGS,也就是infotags字段,存在于信息副中;
关键字,也就是keyboard字段,存在主表中。
TAGS和关键字在灵动标签中循环输出的实现代码
1、关键字keyboard因为字段在主表中,因此实现代码如下:
<?php $keyr=explode(',',$bqr[keyboard]); for($i=0;$i<count($keyr);$i++) { echo'<a href="/e/search/?searchget=1&keyboard='.$keyr[$i].'&show=title" target=_blank>'.$keyr[$i].'</a>'; } ?>
2、TAGS即infotags,因为字段在副表中,因此实现代码如下:
<?php $fr=$empire->fetch1("select infotags from {$dbtbpre}ecms_news_data_{$bqr[stb]} where id='$bqr[id]'"); $keyr=explode(',',$fr[infotags]); for($i=0;$i<count($keyr);$i++) { echo'<a href="/e/tags/?tagname='.$keyr[$i].'" target=_blank>'.$keyr[$i].'</a> '; } ?>
另外网上找了另外一段PHP代码,这两段代码devin都没测试过,但看了看,应该可以实现
<? $a="$bqr[infotags]"; $str=str_replace(',', ',', $a); $tag=''; $t= explode(",", $str); for($i=0;$i<count($t);$i++) { if($t[$i]) { $tagslink="[!--news.url--]e/tags/?tagname=".urlencode($t[$i]).""; $tag.="<a href='$tagslink' target='_blank'>".$t[$i]."</a> "; } } echo $tag; ?>
3、推荐e:loop中TAGS调用的另外一个方法,这种方法应该更好一些(亲测)
<?php $tbname="这里修改为你的数据表名,新闻表是news"; $ftbname=$dbtbpre."ecms_".$tbname."_data_".$bqr['stb']; $hlt = $empire->fetch1("select infotags from {$ftbname} where id='$bqr[id]'"); $keyr=explode(',',$hlt[infotags]); for($i=0;$i<count($keyr);$i++) { echo '<a href="/e/tags/?tagname='.$keyr[$i].'" target=_blank>'.$keyr[$i].'</a> '; } ?>
测试时候发现,若没有标签,以上代码还是会输出以下点内容
<a href="/e/tags/?tagname='.$keyr[$i].'" target=_blank></a>
所以devin最以上点优化了下,加了个非空判断,如下
<?php $tbname="这里修改为你的数据表名,新闻表是news"; $ftbname=$dbtbpre."ecms_".$tbname."_data_".$bqr['stb']; $hlt = $empire->fetch1("select infotags from {$ftbname} where id='$bqr[id]'"); $keyr=explode(',',$hlt[infotags]); for($i=0;$i<count($keyr);$i++) { if($keyr[$i]!=null) { echo '<a href="/e/tags/?tagname='.$keyr[$i].'" target=_blank>'.$keyr[$i].'</a> '; } } ?>
题外话:
1、showtags内置标签应该循环输出tags实现相同功能,但是作为帝国新手的我,不喜欢!!哈哈哈!
[showtags]分类ID,显示数量,每行显示数量,显示排序,只显示推荐,推荐TAGS属性,显示间隔符,是否显示信息数,链接附加参数,链接变量名[/showtags]
2、tagsinfo应该能实现类似按照tags的相关文章列表,当然我也不喜欢
[tagsinfo]TAGS的ID,显示条数,标题截取数,标签模板ID,栏目ID,系统模型ID[/tagsinfo]