织梦dedecms TAG标签调用使用说明

很多网站的首页、列表页和文章页调用的tag关键词是带超链接,这样利于蜘蛛搜索抓取,又有利于用户点击,在用织梦dedecms系统做网站,该如何调用tag标签呢?整理了以下几种tag标签使用方法供大家使用:
1、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' 获取类型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}<script language="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"+(rnd-offset);}}}//--></script>
css代码:
.tag1 { color:#339900;font-weight:bold;}.tag2 { color:#e65730;}.tag3 { color:#00b9da;}.tag4 { color:#fe3981;font-weight:bold;font-size: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}
7、列表页调用tag标签的两种方法
dedecms默认在列表是无法调用tag标签的,经过岛主再次对织梦代码的研读及收集,现给大家再提供以下不同版本的tag标签调用方法:
(1)、dedecms5.7版本的调用方法
首先,找到include\helpers\archive.helper.php文件(注:有朋友会疑问,主页和频道、列表应该加的是不同的调用,不过本人开始用列表页测试,成功;加入主页后测试也是成功显示的,所以我就没再继续深究下去了,另外,这个文件的内容更改,在后台文件是更改不了的,提示是注入sql,所以要在ftp中找到这个文件进行更改才行0。)
在底部增加:
function gettags_list($aid) { global $dsql; $tags = ''; $query = "select tag from `ma_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 dede_taglist t left join dede_tagindex i on i.id=t.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;}{dede: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;{/dede:field.id}
添加代码后,在列表页可以使用:
{dede:field.id function=”listtag(@me)”/}
上一个:今年十大平面设计趋势
下一个:暂无
蔚县网站建设,蔚县做网站,蔚县网站设计