欢迎来到覃师宁博客!
帝国cms使用手册

帝国cms首页/列表页/内容页使用灵动标签调用当前文章tags标签代码分享

编辑:覃师宁来源:qinshining.com时间:2020-11-24 18:37:43阅读量:

TAGS标签一般我们习惯在内容页进行调用,那么如果在首页和列表页调用当前文章的标签呢?

覃师宁博客测试了很多网上的关于tags标签调用的教程,发现并不适用于帝国cms7.5版本,后面谷歌搜索了一下发现有站长分享了成功调用的代码,但是不够详细。今天覃师宁博客整理和分享首页、列表页、文章页tags标签调用的方法

1、文章页tags标签的调用

先看效果图:

帝国cms首页/列表页/内容页使用灵动标签调用当前文章tags标签代码分享 第1张

文章页标签的调用最简单,直接在适当的位置添加以下代码:

  • <div class="article-tags">标签:[showtags]'selfinfo',10,0,'',0,'',' ',0,'','tagid'[/showtags] </div>

代码注释:

  • [showtags]分类ID,显示数量,每行显示数量,显示排序,只显示推荐,推荐TAGS属性,显示间隔符,是否显示信息数,链接附加参数[/showtags]

或者:

  • <?=taglinks($navinfor[id])?>

2、列表页文章的调用TAGS标签

先看效果图:

帝国cms首页/列表页/内容页使用灵动标签调用当前文章tags标签代码分享 第2张

2-1、e/class/userfun.php,添加如下代码

 

  • <?php
  • function taglinks($aid, $num=5, $tbname='news')
  • {
  •         global $public_r,$dbtbpre,$empire,$navinfor,$class_r;
  •         $qr = $empire->fetch1("select rewritetags from {$dbtbpre}enewspublic limit 1");
  •         $sr = $empire->fetch1("select stb from {$dbtbpre}ecms_{$tbname} where id=$aid");
  •         $fr = $empire->fetch1("select infotags from {$dbtbpre}ecms_{$tbname}_data_{$sr[stb]} where id=$aid");
  •         $tagstr = ''.$fr[infotags].'';
  •         $tagarr = explode(",", $tagstr);
  •         for($i=0; $i<count($tagarr) && $i<$num; $i++)
  •         {
  • if($tagarr[$i])
  • {
  •                 $tr = $empire->fetch1("select * from {$dbtbpre}enewstags where tagname='".$tagarr[$i]."'");
  •                 if($qr[rewritetags]) { // 开启伪静态
  •                                 $link = $public_r[newsurl]."tags-etagid".$tr[tagid]."-0.html";
  •                 } else { // 动态链接
  •                                 $link = $public_r[newsurl]."e/tags/?tagid=".$tr[tagid];
  •                 }
  •                 $tags .= "<a href='$link' target='_blank'>".$tagarr[$i]."</a> ";
  • }
  •  
  •         }
  •         return $tags;
  • }
  • ?>


2-2、列表内容模板(list.var) (*)添加以下代码(注意勾选使用程序代码)

  • $listtemp='
  • <li>
  •         <h3><a href="[!--titleurl--]">[!--title--]</a></h3>
  •         <p>'.taglinks($r[id]).'</p>
  • </li>
  • ';

部分网友表示设置不成功,这里友情提醒一下,以上操作需要你对帝国cms后台设置TAGS标签伪静态化处理,并且设置完成记得刷新栏目页

没有设置或者不懂设置的,参考文章:帝国cms后台TAGS标签伪静态化设置方法

3、首页调用TAGS标签

首页调用和侧边栏调用方法类似,唯一不同的就是灵动标签不可以调用标签模板,所以调用方法需要使用万能标签,操作方法一样

3-1、添加首页标签模板

后台--模板--标签模板--管理标签模板--添加标签模板

页面模板内容(*)添加以下代码

  • [!--empirenews.listtemp--]
  • <!--list.var1-->
  • [!--empirenews.listtemp--]


列表内容模板(list.var) (*)添加以下代码(注意勾选使用程序代码)

  • $listtemp='
  • <li>
  •         <h3><a href="[!--titleurl--]">[!--title--]</a></h3>
  •         <p>'.taglinks($r[id]).'</p>
  • </li>
  • ';

3-2、首页调用

  • [ecmsinfo]'news',15,0,0,18,13,0,'','istop desc,newstime desc'[/ecmsinfo]

根据自己需求调用,其中13就是标签模板,根据自己添加的标签id置换

对于万能标签调用有疑问的,可以参考文章:后续补上

4、侧边栏调用TAGS标签

先看侧边栏tags标签效果图:

帝国cms首页/列表页/内容页使用灵动标签调用当前文章tags标签代码分享 第3张

  • <ul>
  • [e:loop={"select * from [!db.pre!]enewstags order by num DESC limit 20",0,24,0}]
  • <?
  • echo '<li><a href="/tags-etagid'.urlencode($bqr['tagid']).'-0.html">'.$bqr['tagname'].'<span class="tag-count"> ('.$bqr['num'].')</span></a></li>';
  • ?>
  • [/e:loop]
  • </ul>

其中20是调用20个标签

到这一步,tags标签所有在各个页面上的调用就详细介绍完了。

 

 


 

 

==========2020年11月30日 补充:列表页调用关键字TAGS另外两种方法:==========

 

方法一:关键字和TAGS同步情况下使用:

列表内容模板(list.var) (*)添加以下代码(注意勾选使用程序代码)

  • $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/search/?searchget=1&tbname=$tbname&tempid=$tempid&show=keyboard&keyboard=".$r_tag[$i];//链接 
  • $tags.="<a href='$tagslink' target='_blank'>".$r_tag[$i]."</a> "; 
  • $listtemp='<div class=""> 
  • <h3 class=""> 
  • <a href="[!--titleurl--]" target="_blank" title="[!--oldtitle--]">[!--title--]</a></h3> 
  • <p title="内容简介">'.$newtext.'...</p> 
  • <p class=""><span>标签:</span>'.$tags.'<span class="">[!--newstime--]</span> 
  • </p> 
  • </div>';

方法二:直接在列表内容模板(list.var) (*)添加以下代码(注意勾选使用程序代码)

  • $classid=$r[classid]; //获取栏目id
  • $tbname=$class_r[$classid][tbname];//获取数据表
  • $fr=$empire->fetch1("select infotags from {$dbtbpre}ecms_".$tbname."_data_{$r[stb]} where id='$r[id]'");//查询副表下的infotags字段
  • $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="无";
  • }
  • $listtemp=' <p><a class="" href="[!--titleurl--]" target="_blank">[!--title--]</a></p>
  • <p class=""> [!--smalltext--] <a href="[!--titleurl--]">[详细]</a></p>
  • <div class="">标签:'.$tags.'
  • <p><span>[!--newstime--]</span><span><script src=[!--news.url--]e/public/ViewClick?classid=[!--classid--]&id=[!--id--]&addclick=1></script>人浏览</span><span>来自互联网</span></p></div>
  • ';

方法二种,覃师宁博客没有进行tags伪静态化处理,如果需要进行伪静态化处理,请参照上文解决方法修改."e/tags/?tagname=".$r_tag[$i];即可

很赞哦!(

相关文章

发表评论共有条评论
用户名:密码:
验证码:匿名发表

更多回答

网创邦微信公众号