当前位置:首页 > 行业动态 > 正文

如何实现织梦DedeCMS中TAG标签仅展示当前栏目的标签?

要实现织梦DedeCMS的TAG标签按栏目显示,只显示当前栏目标签,可以通过修改模板文件来实现。具体操作如下:,,1. 打开模板文件夹,找到需要修改的模板文件,如 article_article.htm。,2. 在模板文件中,找到调用TAG标签的地方,通常是这样的代码: {dede:tag type='currentid'/}。,3. 修改代码为: {dede:tag type='currentid' field='typeid=@me'/}。这里的 @me表示 当前栏目ID。,4. 保存修改后的模板文件,然后更新网站缓存。,,这样修改后,TAG标签就会按照当前栏目进行显示,只显示当前栏目的标签。

如何让织梦DedeCMS的TAG标签按栏目显示只显示当前栏目标签

在织梦DedeCMS中,通过简单的修改代码和模板调用,可以实现TAG标签按栏目显示,只显示当前栏目的所有标签,以下是详细的步骤和操作方法:

一、打开include/taglib/目录下的 tag.lib.php 文件

1、找到关键代码段:在tag.lib.php 文件中,找到以下代码段:

“`php

if($getall==0 && isset($refObj>Fields[‘tags’]) && !empty($refObj>Fields[‘aid’])) {

$dsql>SetQuery("Select tid Fromddmx_taglist where aid = ‘{$refObj>Fields[‘aid’]}’ ");

$dsql>Execute();

$ids = ”;

while($row = $dsql>GetArray()) {

$ids .= ( $ids==” ? $row[‘tid’] : ‘,’.$row[‘tid’] );

}

if($ids != ”) {

$addsql = " where id in($ids) ";

}

if($addsql==”) return ”;

} else if($getall==2) {

$addsql = " where typeid='{$refObj>Fields[‘typeid’]}’ ";

} else {

if(!empty($typeid)) {

$addsql = " where typeid=’$typeid’ ";

}

“`

2、插入新代码:在上述代码段中,将$addsql 变量进行修改,使其只获取当前栏目的标签:

“`php

if($getall==0 && isset($refObj>Fields[‘tags’]) && !empty($refObj>Fields[‘aid’])) {

$dsql>SetQuery("Select tid Fromddmx_taglist where aid = ‘{$refObj>Fields[‘aid’]}’ ");

$dsql>Execute();

$ids = ”;

while($row = $dsql>GetArray()) {

$ids .= ( $ids==” ? $row[‘tid’] : ‘,’.$row[‘tid’] );

}

if($ids != ”) {

$addsql = " where id in($ids) ";

}

if($addsql==”) return ”;

} else if($getall==2) {

$addsql = " where typeid='{$refObj>Fields[‘typeid’]}’ ";

} else {

if(!empty($typeid)) {

$addsql = " where typeid=’$typeid’ ";

}

“`

修改你的模板

1、模板调用代码示例:在模板文件中,使用如下代码来调用并显示按栏目分类的TAG标签:

“`html

{dede:tag sort=’hot’ getall=’2′}

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

{/dede:tag}

“`

2、解释:这段代码表示按照热门程度(sort='hot')排序,并获取所有符合条件的标签(getall='2'),通过[field:link/] 和[field:tag /] 分别输出标签的链接和名称。

FAQs

1、问题1:如何在首页调用所有栏目的热门TAG标签?

解答:在首页模板中,可以使用以下代码来调用所有栏目的热门TAG标签:

“`html

{dede:tag sort=’hot’ getall=’0′}

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

{/dede:tag}

“`

getall='0' 表示获取所有栏目的标签。

2、问题2:如何在特定栏目页调用该栏目下的所有子栏目的TAG标签?

解答:在特定栏目页模板中,可以使用以下代码来调用该栏目下的所有子栏目的TAG标签:

“`html

{dede:child typeid=’当前栏目ID’}

{dede:tag sort=’hot’ getall=’1′}

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

{/dede:tag}

{/dede:child}

“`

{dede:child typeid='当前栏目ID'} 用于获取当前栏目下的所有子栏目,并在每个子栏目中调用其对应的TAG标签。

为了使织梦DedeCMS的TAG标签按栏目显示,并且只显示当前栏目的标签,您需要进行以下步骤:

步骤 1:了解TAG标签系统

您需要了解织梦DedeCMS中的TAG标签系统是如何工作的,DedeCMS使用标签(Tag)来帮助用户快速找到内容,标签通常与文章相关联。

步骤 2:修改模板文件

1、定位模板文件:找到您需要修改的模板文件,通常是/templets/default/index.htm或者对应模板目录下的index.htm。

2、修改标签调用代码

打开模板文件,找到调用TAG标签的代码,通常是这样的:

“`html

{dede:tag row=’10’ titlelen=’30’}

<a href="[field:tagurl/]" title="[field:tagtitle/]">[field:tagtitle/]</a>

{/dede:tag}

“`

修改上述代码,使其只显示当前栏目的标签,可以通过以下方式实现:

“`html

{dede:tag row=’10’ titlelen=’30’ flag=’c’}

<a href="[field:tagurl/]" title="[field:tagtitle/]">[field:tagtitle/]</a>

{/dede:tag}

“`

在flag参数中,c代表当前栏目的标签。

步骤 3:测试模板

1、预览模板:在织梦DedeCMS后台,预览您修改后的模板,确保TAG标签只显示当前栏目的标签。

2、检查链接:确保所有标签的链接都正确指向对应的标签页面。

步骤 4:保存并发布

1、保存修改:保存您修改后的模板文件。

2、发布模板:在织梦DedeCMS后台,发布您修改后的模板。

注意事项

确保您的织梦DedeCMS版本支持这种修改方式。

如果您对模板文件不熟悉,建议在修改前备份原始文件,以便在出现问题时恢复。

修改模板可能会影响到其他部分的显示,请谨慎操作。

通过以上步骤,您应该能够实现在织梦DedeCMS中按栏目显示TAG标签,并且只显示当前栏目的标签。

0