如何在DeDeCms中实现文章页的tag标签调用?

在织梦DeDeCms中,调用文章页的tag可以使用以下方法:,,“php,{dede:field name='keywords'/},“,,将上述代码插入到文章模板的相应位置,即可显示文章的tag信息。

织梦DeDeCms文章页调用tag的方法

如何在DeDeCms中实现文章页的tag标签调用?

基本语法和参数说明

在织梦CMS中,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标记。

具体调用方法

1、最新TAG标签调用

用于显示最新的TAG标签:

“`dede

{dede:tag row=’30’ sort=’new’}

<a href='[field:link/]’>[field:highlight/]([field:result/])</a>

{/dede:tag}

“`

2、当月热门TAG标签调用

用于显示当月热门的TAG标签:

“`dede

{dede:tag row=’30’ sort=’month’}

<a href='[field:link/]’>[field:tagname/]([field:result/])</a>

{/dede:tag}

“`

3、随机TAG标签调用

用于显示随机的TAG标签:

“`dede

{dede:tag row=’60’ sort=’rand’}

<a href='[field:link/]’>[field:highlight/]([field:result/])</a>

{/dede:tag}

“`

4、采集热门Tags,刷新一次变换一次

用于动态显示热门的TAG标签:

“`dede

{dede:tag row=’10’ sort=’month’ }

<a class="tag" href='[field:link/]’>[field:tagname/] </a>

{/dede:tag}

如何在DeDeCms中实现文章页的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"+(rndoffset);

}

}

}

//>

</script>

“`

5、文章页TAG标签调用

用于在文章详情页中调用文章的TAG标签并加上链接:

“`dede

{dede:field name=’keywords’ runphp=’yes’ }

if(!empty(@me)){

$kws = explode(‘ ‘,@me);

$revalue = ”;

foreach($kws as $k){

$revalue .= "<a href=’/tag.php?/$k/’>$k</a> ";

}

$revalue= str_replace(‘+’, ‘ ‘,trim($revalue));

}

@me=$revalue; [field:id runphp=’yes’] //输出ID [/field:id]

{/dede:field}

“`

FAQs

1、如何在首页、列表页和内容页分别调用所有的TAG标签?

如何在DeDeCms中实现文章页的tag标签调用?

首页和列表页调用所有TAG标签

“`dede

{dede:tag row=’8′ getall=’1′ sort=’month’}

“`

参数解释:row='8'表示调用条数为8条,getall='1'表示获取全部TAG标记,sort='month'表示按月排序。

内容页调用该篇正文的TAG标签

“`dede

{dede:field.tags/}

“`

默认情况下,TAG标签是无链接的,如果希望带链接,则需要修改include/common.func.php文件,大约在第755行,找到如下代码:

“`php

//获得某文档的所有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==” ? $row[‘tag’] : ‘,’.$row[‘tag’]); } return $tags; }

“`

将其修改为:

“`php

//获得某文档的所有tag function GetTags($aid) { global $dsql; $tags = ”; $query = "Select tag Fromdede_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; }

“`

2、如何确保在列表页调用每篇文章的TAG标签?

dedecms5.7版本的调用方法:首先找到includehelpersarchive.helper.php文件,在底部增加如下代码:

“`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标签的位置添加:

“`dede

[field:id function=GetTags_list(@me)/]

“`

dedecms5.6版本的调用方法:直接在模板需要的位置加入以下代码:

“`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; [/field:id]

“`

方法 描述 代码示例
{dede:field.tag/} 获取当前文章的所有标签 {dede:field.tag/}
{dede:field.tags/} 获取当前文章的所有标签,标签之间用逗号分隔 {dede:field.tags/}
{dede:field.tagurl/} 获取当前文章标签的链接地址 {dede:field.tagurl/}
{dede:tagArcList/} 获取某个标签下的文章列表 {dede:tagArcList tag='标签名' row='20' titlelen='20' /}
{dede:tagTypeList/} 获取标签分类列表 {dede:tagTypeList type='top' row='10' /}
{dede:tagType/} 获取某个标签分类下的标签列表 {dede:tagType id='1' row='10' /}
{dede:tagTypeUrl/} 获取某个标签分类的链接地址 {dede:tagTypeUrl id='1' /}
{dede:tagsArcList/} 获取某个标签分类下的文章列表 {dede:tagsArcList tid='1' row='20' titlelen='20' /}
{dede:tagsTypeList/} 获取标签分类列表,按照某个标签分类下的文章数量排序 {dede:tagsTypeList tid='1' row='10' /}

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1187725.html

(0)
未希的头像未希新媒体运营
上一篇 2024-10-08 20:37
下一篇 2024-10-08 20:38

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

免费注册
电话联系

400-880-8834

产品咨询
产品咨询
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入