技术文摘

帝国CMS内容页调用TAG的5种方法!包括PHP和灵动还有样式改造

作者:雨祺   发表于:
浏览:61次    字数:2173  原创
级别: 站长   总稿: 68 篇,  月稿: 0
方法1、
调用10条当前tag
  1. [showtags]’selfinfo’,10,0,”,0,”,’ ’,0,”,’tagname'[/showtags] 
方法2、
内容页调用tag,按tagname调用
  1. <div class=”tagsline”>Tags:<? $a=”$navinfor[infotags]”; 
  2. $str=str_replace(‘,’, ‘,’, $a); 
  3. $tag=”; 
  4. $t= explode(“,”, $str); 
  5. for($i=0;$i<count($t);$i++) 
  6. if($t[$i]) 
  7. $tagslink=”[!–news.url–]e/tags/?tagname=”.urlencode($t[$i]).”&tempid=1″; 
  8. $tag.=”<a href=’$tagslink’ target=’_blank’>”.$t[$i].”</a> “; 
  9. echo $tag; 
  10. ?> 
  11. </div> 
或,按tagname调用
  1. <?php 
  2. $fr=$empire->fetch1(“select infotags from {$dbtbpre}ecms_news_data_{$navinfor[stb]} where id=’$navinfor[id]'”); 
  3. $infotags=$fr[‘infotags’];//这个就是infotags字段内容 
  4. $tag=”; 
  5. $t=explode(‘,’,$infotags);//去逗号 
  6. $d=count($t); 
  7. for($i=0;$i<count($t);$i++) 
  8. if($t[$i]) 
  9. $tagslink=”[!–news.url–]e/tags/?tagname=”.urlencode($t[$i]).”&tempid=1″; 
  10. $tag.=”<a href=’$tagslink’ target=’_blank’>”.$t[$i].”</a> “; 
  11. echo $tag; 
  12. ?> 
或,按id调用
  1. <? 
  2. $tbname=$class_r[$navinfor[‘classid’]][‘tbname’]; 
  3. $ftbname=$dbtbpre.”ecms_”.$tbname.”_data_”.$navinfor[‘stb’]; 
  4. $hlt = $empire->fetch1(“select infotags from {$ftbname} where id=’$navinfor[id]'”); 
  5. $a=$hlt[infotags]; 
  6. $str=str_replace(‘,’, ‘,’, $a); 
  7. $tag=”; 
  8. $t= explode(“,”, $str); 
  9. for($i=0;$i<count($t);$i++) 
  10. if($t[$i]) 
  11. {    $datar=$empire->fetch1(“select tagid from {$dbtbpre}enewstags where tagname=’$t[$i]’ limit 1″); 
  12. $tagslink=”[!–news.url–]e/tags/?tagid=”.$datar[tagid].””; 
  13. $tag.=”<a href=’$tagslink’ target=’_blank’>”.$t[$i].”</a> “; 
  14. echo $tag; 
  15. ?> 
注释:
限制数量,把$i<count($t)修改为$i<count($t)&&$i<限制数量
mid=1数据模型id  tempid=1模型的模板id   orderby排列方式  classid=34栏目id  &line=5调用条数
如:上面的 &tempid=1
方法3、tags标签实现多颜色样式
  1. <?php 
  2. $ecms_bq_sql=sys_ReturnEcmsLoopBq(“select * from [!db.pre!]enewstagsdata where classid=’$navinfor[classid]’ and id=’$navinfor[id]’ order by tagid”,10,24,0); 
  3. $bqno=0; 
  4. while($bqr=$empire->fetch($ecms_bq_sql)) 
  5. $bqsr=sys_ReturnEcmsLoopStext($bqr); 
  6. $bqno++; 
  7. ?> 
  8. <?php 
  9. $ecms_bq_sql2=sys_ReturnEcmsLoopBq(“select * from [!db.pre!]enewstags where tagid=’$bqr[tagid]’ order by tagid”,1,24,0); 
  10. $bqno2=0; 
  11. while($bqr2=$empire->fetch($ecms_bq_sql2)) 
  12. $bqsr2=sys_ReturnEcmsLoopStext($bqr2); 
  13. $bqno2++; 
  14. ?> 
  15. <a class=”tag-<?=$bqno?>” href=”<?=$public_r[newsurl]?>e/tags/?tagname=<?=$bqr2[‘tagname’]?>&tempid=1″><?=$bqr2[tagname]?></a> 
  16. <?php 
  17. ?> 
接着在css中定义标签的样式,这个可以自己定义。
  1. .tag-1{background:#ff7094;} 
  2. .tag-2{background:#94b770;} 
  3. .tag-3{background:#db94ff;} 
  4. .tag-4{background:#399;} 
  5. .tag-5{background:#f60;} 
注释:mid=1数据模型id  tempid=1模型的模板id   orderby排列方式  classid=34栏目id
如:上面的 &tempid=1
方法4、
  1. [e:loop={“select a.*,b.* from [!db.pre!]enewstags a LEFT JOIN [!db.pre!]enewstagsdata b ON a.tagid=b.tagid where b.classid=’$navinfor[classid]’ and b.id=’$navinfor[id]’ group by b.tagid order by a.num desc limit 100”,0,24,0}] 
  2. <a href='<?=$public_r[‘newsurl’]?>e/tags/?tagname=<?=$bqr[‘tagname’]?>’ title='<?=$bqr[‘num’]?>个’><?=$bqr[‘tagname’]?>(<?=$bqr[‘num’]?>)</a> 
  3. [/e:loop] 
方法5、
  1. <?php 
  2. $tsql=$empire->query(“select * from {$dbtbpre}enewstagsdata where id=’$navinfor[id]’order by id asc limit 7”); 
  3. while($tr=$empire->fetch($tsql)){ 
  4. $tag=$empire->fetch1(“select * from {$dbtbpre}enewstags where tagid=’$tr[tagid]’ limit 1″); 
  5. ?> 
  6. <span><a class=”tag” href=”<?=$public_r[newsurl]?>e/tags/?tagname=<?=$tag[‘tagname’]?>”><?=$tag[tagname]?></a></span>&nbsp; 
  7. <?}?> 
方法6.(网友提供,感谢)
  1. <?php 
  2. $tbname=”news”; //“news”为新闻数据表名称 
  3. $ftbname=$dbtbpre.”ecms_”.$tbname.”_data_”.$navinfor[‘stb’]; 
  4. $hlt = $empire->fetch1(“select infotags from {$ftbname} where id=’$navinfor[id]'”); 
  5. $keyr=explode(‘,’,$hlt[infotags]); 
  6. for($i=0;$i<count($keyr);$i++) 
  7. echo ‘<a href=”‘.$public_r[newsurl].’e/tags/?tagname=’.$keyr[$i].'” target=_blank>’.$keyr[$i].'</a>&nbsp;&nbsp;’; 
  8. ?> 
  1. <?php 
  2. $fr=$empire->fetch1(“select infotags from {$dbtbpre}ecms_news_data_{$navinfor[stb]} where id=’$navinfor[id]'”); 
  3. $keyr=explode(‘,’,$fr[infotags]); 
  4. for($i=0;$i<count($keyr);$i++) 
  5. echo ‘<a href=”‘.$public_r[newsurl].’e/tags/?tagname=’.$keyr[$i].'” target=_blank>’.$keyr[$i].'</a>&nbsp;&nbsp;’; 
  6. ?> 
  1. <?php 
  2. $fr=$empire->fetch1(“select infotags from {$dbtbpre}ecms_news_data_{$navinfor[stb]} where id=’$navinfor[id]'”); 
  3. $infotags=$fr[‘infotags’]; 
  4. $r_tag=explode(“,”,$infotags); 
  5. for($i=0;$i<count($r_tag);$i++){ 
  6. if($r_tag[$i]){ 
  7. $tagslink=$public_r[newsurl].”e/tags/?tagname=”.urlencode($r_tag[$i]); 
  8. $tags.=”<a class=’tag-link19′ href=’$tagslink’ target=’_blank’ rel=’tag’>”.$r_tag[$i].”</a>”; 
  9. ?> 
  10. tag:<?=$tags?> 
注释:限制数量,把$i<count($keyr)修改为$i<count($keyr)&&$i<限制数量

 

【审核人:站长】

收藏   加好友   生成海报   分享
点赞(0)
打赏
Tags: 教程 帝国CMS 帝国
评论(0人参与,0条评论) 雨祺
0/0
  • 请先说点什么
    最新评论

    发布者资料

    热门文章

    技术文摘

    查看更多技术文摘
    首页
    栏目
    搜索
    会员
    投稿