帝国CMS内容页调用TAG的5种方法!包括PHP和灵动还有样式改造
时间:2024年04月23日
/来源:网络
/编辑:佚名
方法1、
调用10条当前tag
[showtags]’selfinfo’,10,0,”,0,”,’ ’,0,”,’tagname'[/showtags]
方法2、
内容页调用tag,按tagname调用
<div class=”tagsline”>Tags:<? $a=”$navinfor[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]).”&tempid=1″;
$tag.=”<a href=’$tagslink’ target=’_blank’>”.$t[$i].”</a> “;
}
}
echo $tag;
?>
</div>
或,按tagname调用
<?php
$fr=$empire->fetch1(“select infotags from {$dbtbpre}ecms_news_data_{$navinfor[stb]} where id=’$navinfor[id]'”);
$infotags=$fr[‘infotags’];//这个就是infotags字段内容
$tag=”;
$t=explode(‘,’,$infotags);//去逗号
$d=count($t);
for($i=0;$i<count($t);$i++)
{
if($t[$i])
{
$tagslink=”[!–news.url–]e/tags/?tagname=”.urlencode($t[$i]).”&tempid=1″;
$tag.=”<a href=’$tagslink’ target=’_blank’>”.$t[$i].”</a> “;
}
}
echo $tag;
?>
或,按id调用
<?
$tbname=$class_r[$navinfor[‘classid’]][‘tbname’];
$ftbname=$dbtbpre.”ecms_”.$tbname.”_data_”.$navinfor[‘stb’];
$hlt = $empire->fetch1(“select infotags from {$ftbname} where id=’$navinfor[id]'”);
$a=$hlt[infotags];
$str=str_replace(‘,’, ‘,’, $a);
$tag=”;
$t= explode(“,”, $str);
for($i=0;$i<count($t);$i++)
{
if($t[$i])
{ $datar=$empire->fetch1(“select tagid from {$dbtbpre}enewstags where tagname=’$t[$i]’ limit 1″);
$tagslink=”[!–news.url–]e/tags/?tagid=”.$datar[tagid].””;
$tag.=”<a href=’$tagslink’ target=’_blank’>”.$t[$i].”</a> “;
}
}
echo $tag;
?>
注释:
限制数量,把$i<count($t)修改为$i<count($t)&&$i<限制数量
mid=1数据模型id tempid=1模型的模板id orderby排列方式 classid=34栏目id &line=5调用条数
如:上面的 &tempid=1
—————————————————————————————————————
方法3、tags标签实现多颜色样式
<?php
$ecms_bq_sql=sys_ReturnEcmsLoopBq(“select * from [!db.pre!]enewstagsdata where classid=’$navinfor[classid]’ and id=’$navinfor[id]’ order by tagid”,10,24,0);
$bqno=0;
while($bqr=$empire->fetch($ecms_bq_sql))
{
$bqsr=sys_ReturnEcmsLoopStext($bqr);
$bqno++;
?>
<?php
$ecms_bq_sql2=sys_ReturnEcmsLoopBq(“select * from [!db.pre!]enewstags where tagid=’$bqr[tagid]’ order by tagid”,1,24,0);
$bqno2=0;
while($bqr2=$empire->fetch($ecms_bq_sql2))
{
$bqsr2=sys_ReturnEcmsLoopStext($bqr2);
$bqno2++;
?>
<a class=”tag-<?=$bqno?>” href=”<?=$public_r[newsurl]?>e/tags/?tagname=<?=$bqr2[‘tagname’]?>&tempid=1″><?=$bqr2[tagname]?></a>
<?php
}
}
?>
接着在css中定义标签的样式,这个可以自己定义。
.tag-1{background:#ff7094;}
.tag-2{background:#94b770;}
.tag-3{background:#db94ff;}
.tag-4{background:#399;}
.tag-5{background:#f60;}
注释:mid=1数据模型id tempid=1模型的模板id orderby排列方式 classid=34栏目id
如:上面的 &tempid=1
—————————————————————————————————————
方法4、
[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}]
<a href='<?=$public_r[‘newsurl’]?>e/tags/?tagname=<?=$bqr[‘tagname’]?>’ title='<?=$bqr[‘num’]?>个’><?=$bqr[‘tagname’]?>(<?=$bqr[‘num’]?>)</a>
[/e:loop]
—————————————————————————————————————
方法5、
<?php
$tsql=$empire->query(“select * from {$dbtbpre}enewstagsdata where id=’$navinfor[id]’order by id asc limit 7”);
while($tr=$empire->fetch($tsql)){
$tag=$empire->fetch1(“select * from {$dbtbpre}enewstags where tagid=’$tr[tagid]’ limit 1″);
?>
<span><a class=”tag” href=”<?=$public_r[newsurl]?>e/tags/?tagname=<?=$tag[‘tagname’]?>”><?=$tag[tagname]?></a></span>
<?}?>
方法6.(网友提供,感谢)
<?php
$tbname=”news”; //“news”为新闻数据表名称
$ftbname=$dbtbpre.”ecms_”.$tbname.”_data_”.$navinfor[‘stb’];
$hlt = $empire->fetch1(“select infotags from {$ftbname} where id=’$navinfor[id]'”);
$keyr=explode(‘,’,$hlt[infotags]);
for($i=0;$i<count($keyr);$i++)
{
echo ‘<a href=”‘.$public_r[newsurl].’e/tags/?tagname=’.$keyr[$i].'” target=_blank>’.$keyr[$i].'</a> ’;
}
?>
或
<?php
$fr=$empire->fetch1(“select infotags from {$dbtbpre}ecms_news_data_{$navinfor[stb]} where id=’$navinfor[id]'”);
$keyr=explode(‘,’,$fr[infotags]);
for($i=0;$i<count($keyr);$i++)
{
echo ‘<a href=”‘.$public_r[newsurl].’e/tags/?tagname=’.$keyr[$i].'” target=_blank>’.$keyr[$i].'</a> ’;
}
?>
或
<?php
$fr=$empire->fetch1(“select infotags from {$dbtbpre}ecms_news_data_{$navinfor[stb]} where id=’$navinfor[id]'”);
$infotags=$fr[‘infotags’];
$r_tag=explode(“,”,$infotags);
for($i=0;$i<count($r_tag);$i++){
if($r_tag[$i]){
$tagslink=$public_r[newsurl].”e/tags/?tagname=”.urlencode($r_tag[$i]);
$tags.=”<a class=’tag-link19′ href=’$tagslink’ target=’_blank’ rel=’tag’>”.$r_tag[$i].”</a>”;
}
}
?>
tag:<?=$tags?>
注释:限制数量,把$i<count($keyr)修改为$i<count($keyr)&&$i<限制数量
案例图:
调用10条当前tag
[showtags]’selfinfo’,10,0,”,0,”,’ ’,0,”,’tagname'[/showtags]
方法2、
内容页调用tag,按tagname调用
<div class=”tagsline”>Tags:<? $a=”$navinfor[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]).”&tempid=1″;
$tag.=”<a href=’$tagslink’ target=’_blank’>”.$t[$i].”</a> “;
}
}
echo $tag;
?>
</div>
或,按tagname调用
<?php
$fr=$empire->fetch1(“select infotags from {$dbtbpre}ecms_news_data_{$navinfor[stb]} where id=’$navinfor[id]'”);
$infotags=$fr[‘infotags’];//这个就是infotags字段内容
$tag=”;
$t=explode(‘,’,$infotags);//去逗号
$d=count($t);
for($i=0;$i<count($t);$i++)
{
if($t[$i])
{
$tagslink=”[!–news.url–]e/tags/?tagname=”.urlencode($t[$i]).”&tempid=1″;
$tag.=”<a href=’$tagslink’ target=’_blank’>”.$t[$i].”</a> “;
}
}
echo $tag;
?>
或,按id调用
<?
$tbname=$class_r[$navinfor[‘classid’]][‘tbname’];
$ftbname=$dbtbpre.”ecms_”.$tbname.”_data_”.$navinfor[‘stb’];
$hlt = $empire->fetch1(“select infotags from {$ftbname} where id=’$navinfor[id]'”);
$a=$hlt[infotags];
$str=str_replace(‘,’, ‘,’, $a);
$tag=”;
$t= explode(“,”, $str);
for($i=0;$i<count($t);$i++)
{
if($t[$i])
{ $datar=$empire->fetch1(“select tagid from {$dbtbpre}enewstags where tagname=’$t[$i]’ limit 1″);
$tagslink=”[!–news.url–]e/tags/?tagid=”.$datar[tagid].””;
$tag.=”<a href=’$tagslink’ target=’_blank’>”.$t[$i].”</a> “;
}
}
echo $tag;
?>
注释:
限制数量,把$i<count($t)修改为$i<count($t)&&$i<限制数量
mid=1数据模型id tempid=1模型的模板id orderby排列方式 classid=34栏目id &line=5调用条数
如:上面的 &tempid=1
—————————————————————————————————————
方法3、tags标签实现多颜色样式
<?php
$ecms_bq_sql=sys_ReturnEcmsLoopBq(“select * from [!db.pre!]enewstagsdata where classid=’$navinfor[classid]’ and id=’$navinfor[id]’ order by tagid”,10,24,0);
$bqno=0;
while($bqr=$empire->fetch($ecms_bq_sql))
{
$bqsr=sys_ReturnEcmsLoopStext($bqr);
$bqno++;
?>
<?php
$ecms_bq_sql2=sys_ReturnEcmsLoopBq(“select * from [!db.pre!]enewstags where tagid=’$bqr[tagid]’ order by tagid”,1,24,0);
$bqno2=0;
while($bqr2=$empire->fetch($ecms_bq_sql2))
{
$bqsr2=sys_ReturnEcmsLoopStext($bqr2);
$bqno2++;
?>
<a class=”tag-<?=$bqno?>” href=”<?=$public_r[newsurl]?>e/tags/?tagname=<?=$bqr2[‘tagname’]?>&tempid=1″><?=$bqr2[tagname]?></a>
<?php
}
}
?>
接着在css中定义标签的样式,这个可以自己定义。
.tag-1{background:#ff7094;}
.tag-2{background:#94b770;}
.tag-3{background:#db94ff;}
.tag-4{background:#399;}
.tag-5{background:#f60;}
注释:mid=1数据模型id tempid=1模型的模板id orderby排列方式 classid=34栏目id
如:上面的 &tempid=1
—————————————————————————————————————
方法4、
[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}]
<a href='<?=$public_r[‘newsurl’]?>e/tags/?tagname=<?=$bqr[‘tagname’]?>’ title='<?=$bqr[‘num’]?>个’><?=$bqr[‘tagname’]?>(<?=$bqr[‘num’]?>)</a>
[/e:loop]
—————————————————————————————————————
方法5、
<?php
$tsql=$empire->query(“select * from {$dbtbpre}enewstagsdata where id=’$navinfor[id]’order by id asc limit 7”);
while($tr=$empire->fetch($tsql)){
$tag=$empire->fetch1(“select * from {$dbtbpre}enewstags where tagid=’$tr[tagid]’ limit 1″);
?>
<span><a class=”tag” href=”<?=$public_r[newsurl]?>e/tags/?tagname=<?=$tag[‘tagname’]?>”><?=$tag[tagname]?></a></span>
<?}?>
方法6.(网友提供,感谢)
<?php
$tbname=”news”; //“news”为新闻数据表名称
$ftbname=$dbtbpre.”ecms_”.$tbname.”_data_”.$navinfor[‘stb’];
$hlt = $empire->fetch1(“select infotags from {$ftbname} where id=’$navinfor[id]'”);
$keyr=explode(‘,’,$hlt[infotags]);
for($i=0;$i<count($keyr);$i++)
{
echo ‘<a href=”‘.$public_r[newsurl].’e/tags/?tagname=’.$keyr[$i].'” target=_blank>’.$keyr[$i].'</a> ’;
}
?>
或
<?php
$fr=$empire->fetch1(“select infotags from {$dbtbpre}ecms_news_data_{$navinfor[stb]} where id=’$navinfor[id]'”);
$keyr=explode(‘,’,$fr[infotags]);
for($i=0;$i<count($keyr);$i++)
{
echo ‘<a href=”‘.$public_r[newsurl].’e/tags/?tagname=’.$keyr[$i].'” target=_blank>’.$keyr[$i].'</a> ’;
}
?>
或
<?php
$fr=$empire->fetch1(“select infotags from {$dbtbpre}ecms_news_data_{$navinfor[stb]} where id=’$navinfor[id]'”);
$infotags=$fr[‘infotags’];
$r_tag=explode(“,”,$infotags);
for($i=0;$i<count($r_tag);$i++){
if($r_tag[$i]){
$tagslink=$public_r[newsurl].”e/tags/?tagname=”.urlencode($r_tag[$i]);
$tags.=”<a class=’tag-link19′ href=’$tagslink’ target=’_blank’ rel=’tag’>”.$r_tag[$i].”</a>”;
}
}
?>
tag:<?=$tags?>
注释:限制数量,把$i<count($keyr)修改为$i<count($keyr)&&$i<限制数量
案例图:
新闻资讯 更多
- 【帝国cms教程】帝国CMS内容页调用TAG的5种方法!包括PHP和灵动还有样式改造04-23
- 【帝国cms教程】帝国cms灵动标签php获取指定栏目下的子栏目名称链接以及子栏目文章及所属栏目名链接04-12
- 【帝国cms教程】帝国CMS修改栏目顺序提示:您来自的链接不存在04-12
- 【帝国cms教程】帝国cms网站搬迁Mysql数据库出现Table is read only的解决方法04-12
- 【帝国cms教程】帝国cmsPHP语句统计全站tags关键词数量/统计全站栏目数量04-12
- 【帝国cms教程】帝国cms利用html+js实现一键复制某字段的内容04-12
- 【帝国cms教程】帝国CMS搜索页伪静态实现方法04-12
- 【帝国cms教程】帝国cms灵动标签调用一级栏目列表04-12
热门文章
- 178Moban源码谈谈免费源码与收费源码的区别
- 2帝国CMS忘记后台登陆用户名、密码、认证码的解决方法
- 3帝国CMS(EmpireCMS) v7.5后台任意代码执行漏洞及具体修复方法
- 4帝国CMS和WordPress 哪个好?哪个适合建站?
- 5如何解决Discuz的密码错误次数过多请15分钟后登陆的问题
- 6帝国cms灵动标签取得内容和栏目链接地址
- 7emlog pro 注册码“开心”教程(如果有一天,emlog官方版 或者 emlog免费版 跑路了,那用户怎么办?)
- 8帝国cms后台登录出现”您还未登录”怎么解决?
- 9织梦CMS在nginx下设置伪静态方法(附nginx伪静态规则)
- 10帝国cms7.5忘记登录密码 和忘记登录认证码以及多次登录 失败被锁定解决办法