html,{dede:arclist row='10' typeid='1' orderby='pubdate'}, [field:typelink/][field:tag/],{/dede:arclist},
“,,这段代码表示在首页和列表页中显示10篇文章,按照发布时间排序,并展示文章的类型链接和标签。在DedeCMS中调用文档的TAG标签,可以通过多种方法实现,本文将详细介绍如何在首页、列表页和文章页中调用文档的TAG标签,并提供一些实用的代码示例。
基本语法与概念
1、TAG标签的定义与作用:TAG标签是一种由网站管理员自定义的关键词,用于更具体地概括文章的主要内容,合理使用TAG标签可以增加文章的可发现性,提高SEO效果。
2、基本语法:在DedeCMS中,调用TAG标签的基本语法如下:
{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标记(0为当前内容页,1为获取全部)。
首页调用TAG标签
在首页调用TAG标签,通常是为了展示网站的热门或最新的TAG标签,以吸引用户点击,以下是几种常见的调用方法:
1、最新TAG标签调用:
{dede:tag row='30' sort='new'} <a href='[field:link/]'>[field:highlight/]([field:result/])</a> {/dede:tag}
这种方法会调用最新的30个TAG标签,并以高亮形式显示。
2、当月热门TAG标签调用:
{dede:tag row='30' sort='month'} <a href='[field:link/]'>[field:tagname/]([field:result/])</a> {/dede:tag}
这种方法会调用当月最热门的30个TAG标签。
3、随机TAG标签调用:
{dede:tag row='60' sort='rand'} <a href='[field:link/]'>[field:highlight/]([field:result/])</a> {/dede:tag}
此方法会随机调用60个TAG标签。
列表页调用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;
}
然后在模板文件中调用:
[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]
注意:这种方法在dedecms5.7版本中无法实现。
文章页调用当前文章的TAG标签
在文章页调用当前文章的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}
或者通过修改include/common.func.php文件来实现带链接的TAG标签调用。
相关问答FAQs
1. 如何在DedeCMS中调用当前栏目的所有TAG标签?
答:可以通过修改include/taglib/目录下的tag.lib.php文件,在适当位置插入代码来实现,具体代码如下:
if($getall==0 && isset($refObj>Fields['tags']) && !empty($refObj>Fields['tags'])) { $tags = $refObj>Fields['tags']; $tagarray = explode(',', $tags); if(is_array($tagarray)) { foreach($tagarray as $tag) { $res[] = "<a href='/tags.php?/$tag/'>$tag</a>"; } return implode(',', $res); } else { return ''; } } else { return ''; }
2. 如何在首页调用特定数量的热门TAG标签?
答:可以在模板文件中使用以下代码来调用特定数量(例如30个)的热门TAG标签:
{dede:tag row='30' sort='month'} <a href='[field:link/]'>[field:tagname/]([field:result/])</a> {/dede:tag}
这段代码会调用最近一个月内最热门的30个TAG标签,并以超链接的形式展示在首页。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1222296.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复