,{dede:arclist typeid='1' row='10' titlelen='40' orderby='pubdate'},,[field:title/], {dede:field name='tag'/},,{/dede:arclist},
“,,以上代码中,{dede:field name=’tag’}用于调用文章的标签信息。在织梦CMS(DedeCMS)中,TAG标签是一种由用户自定义的关键词,用于概括文章的主要内容,通过合理使用TAG标签,可以提高文章的搜索引擎可见性,增加网站内容的收录量,以下是如何在DedeCMS模板的文章列表中调用TAG标签的几种方法:
基本语法和参数说明
1、基本语法
{dede:tag row=’30’ sort=’new’ getall=’0′}
<a href='[field:link/]'>[field:tag /]</a>
{/dede:tag}
参数说明
row='30'
:调用条数为30条
sort='new'
:排序方式为最新(month, rand, week)
getall='0'
:获取类型为当前内容页TAG标记,1为获取全部TAG标记
底层模板字段
link
:链接
tag
:标签名称
2、最新Tag标签调用
{dede:tag row=’30’ sort=’new’}
<a href='[field:link/]'>[field:highlight/]([field:result/])</a>
{/dede:tag}
3、当月热门Tag标签调用
{dede:tag row=’30’ sort=’month’}
<a href='[field:link/]'>[field:tagname/]([field:result/])</a>
{/dede:tag}
4、随机Tag标签调用
{dede:tag row=’60’ sort=’rand’}
<a href='[field:link/]'>[field:highlight/]([field:result/])</a>
{/dede:tag}
5、采集热门Tags,刷新一次变换一次
{dede:tag row=’10’ sort=’month’ }
<a class="tag" href='[field:link/]'>[field:tagname/] </a>
{/dede:tag}
JavaScript代码
var tag_a=document.getElementsByTagName("a"); for( i in tag_a){ var offset=6; var num=4; if(tag_a.className=="tag"){ var rnd=Math.ceil((num+offset)*Math.random()); if(rnd>offset){ tag_a.className="tag"+(rndoffset); } } }
CSS代码
.tag1 { color:#339900;fontweight:bold;} .tag2 { color:#e65730;} .tag3 { color:color:#00b9da;} .tag4 { color:#FE3981;fontweight:bold;fontsize:14px;}
6、文章页Tag标签调用
{dede:tag table=’dede_search_keywords’ sort=’keyword’ row=’2′ if=”}
<a class=blue href='[field:link/]' target=_blank>[field:tag /]</a>
{/dede:tag}
或
{dede:field name='keywords' runphp='yes' } if(!empty(@me)){ $kws = explode(' ',@me); @me = ""; foreach($kws as $k){ @me .= "<a href='/tag.php?/$k/'>$k</a> "; } @me= str_replace('+', ' ',trim(@me)); } {/dede:field}
列表页调用Tag标签的方法
dedecms默认在列表是无法调用tag标签的,经过岛主再次对织梦代码的研读及收集,现给大家再提供以下不同版本的tag标签调用方法:
1、dedecms5.7版本的调用方法
找到includehelpersarchive.helper.php文件。
在底部增加:
function GetTags_list($aid)
{
global $dsql;
$tags = '';
$query = "SELECT tag FROMma_taglist
WHERE aid='$aid' ";
$dsql>Execute('tag',$query);
while($row = $dsql>GetArray('tag'))
{
$tags .= ($tags=='' ? "<a href='/tags.php?/".urlencode($row['tag'])."'>".$row['tag']."</a>" : ','."<a href='/tags.php?/".urlencode($row['tag'])."'>".$row['tag']."</a>");
}
return $tags;
}
在列表需要调用tag标签的位置添加:
[field:id function=GetTags_list(@me)/]
2、dedecms5.6版本的调用方法
方法一:直接在模板需要的位置加入以下代码即可:
[field:id runphp=yes] $tsql = new DedeSql(false); $tags = ”; $tsql>SetQuery(“Select i.tag From dede_taglist t left join dede_tagindex i on i.id=t.tid where t.aid=’@me’”); $tsql>Execute(‘t’); while($row = $tsql>GetArray(‘t’,MYSQL_ASSOC)){ $tags .= “<a href=’/tag.php?/”.urlencode($row['tag']).”‘>”.$row['tag'].”</a>”; } @me=$tags; [/field:id]
注:这一步dede5.7版本里面实现不了。
方法二:打开dedecms根目录include/common.func.php,在最底部的“?>”之前加入以下代码:
//岛主:列表页调用tag的方法 function listtag($aid) { $tsql = new DedeSql(false); $tags = ''; $tsql>SetQuery("Select i.tag From tf_taglist t left join tf_tagindex i on i.id=i.tid where t.aid='$aid'"); $tsql>Execute('t'); while($row = $tsql>GetArray('t',MYSQL_ASSOC)){ $tags .= "<a href='/tags.php?/".urlencode($row['tag'])."'>".$row['tag']."</a>"; } return $tags; }
相关问答FAQs
1、问:如何在首页、列表页和文章页调用所有的TAG标签?
答:在首页、列表页和文章页调用所有的TAG标签可以通过以下代码实现:
{dede:tag row='8' getall='1' sort='month'}
这段代码会显示最新的8个TAG标签,并按月份排序,如果需要更多或更少的标签数量,可以调整row
参数的值。
2、问:如何使每个文章的TAG标签带上超链接?
答:要使每个文章的TAG标签带上超链接,可以在includecommon.func.php文件中修改GetTags函数,将无链接的标签改为带链接的形式,具体代码如下:
//获得某文档的所有tag function GetTags($aid) { global $dsql; $tags = ''; $query = "Select tag Fromtf_taglist
where aid='$aid' "; $dsql>Execute('tag',$query); while($row = $dsql>GetArray('tag')) { $tags .= ($tags=='' ? "<a href=/tags.php?/{$row['tag']} target=_blank>{$row['tag']}</a>" : ','."<a href=/tags.php?/{$row['tag']} target=_blank>{$row['tag']}</a>"); } return $tags; }
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1217243.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复