如何实现织梦DedeCMS中TAG标签仅展示当前栏目的标签?
- 行业动态
- 2024-10-03
- 3
要实现织梦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标签,并且只显示当前栏目的标签。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/101350.html