TAGS标签一般我们习惯在内容页进行调用,那么如果在首页和列表页调用当前文章的标签呢?
测试了很多网上的关于tags标签调用的教程,发现并不适用于帝国cms7.5版本,后面谷歌搜索了一下发现有站长分享了成功调用的代码,但是不够详细。今天整理和分享首页、列表页、文章页tags标签调用的方法
1、文章页tags标签的调用
先看效果图:
文章页标签的调用最简单,直接在适当的位置添加以下代码:
<div class=\"article-tags\">标签:[showtags]\'selfinfo\',10,0,\'\',0,\'\',\' \',0,\'\',\'tagid\'[/showtags] </div>
代码注释:
[showtags]分类ID,显示数量,每行显示数量,显示排序,只显示推荐,推荐TAGS属性,显示间隔符,是否显示信息数,链接附加参数[/showtags]
或者:
<?=taglinks($navinfor[id])?>
2、列表页文章的调用TAGS标签
先看效果图:
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标签效果图:
<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同步情况下使用:
关键字与tags同步使用教程:帝国cms文章关键字与选项设置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];即可
1. 资源都是经过站长或作者收集测试修改后发布分享。如若转载请在文内以超链形式注明狐狸库文章出处,谢谢合作!
2. 本站除原创内容,其余所有内容均收集自互联网,仅限用于学习和研究目的,本站不对其内容的合法性承担任何责任。如有版权内容,请通知我们或作者删除,其版权均归原作者所有,本站虽力求保存原有版权信息,但因众多资源经多次转载,已无法确定其真实来源,或已将原有信息丢失,所以敬请原作者谅解!
3. 本站用户所发布的一切资源内容不代表本站立场,并不代表本站赞同其观点和对其真实性负责,若您对本站所载资源作品版权归属存有异议,请留言附说明联系邮箱,我们将在第一时间予以处理 ,同时向您表示歉意!为尊重作者版权,请购买原版作品,支持您喜欢的作者,谢谢!
4. 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客如有发现请立即向站长举报;本站资源文件大多存储在云盘,如发现链接或图片失效,请联系作者或站长及时更新。
请登录后查看评论内容