html,{dede:field name='toptype'/},
“ 方法一:使用标签{dede:field.typeid function="GetTopid(@me)"/}
在需要调用顶级栏目ID的地方,可以直接使用以下标签语法:
{dede:field.typeid function="GetTopid(@me)"/}
这种方法经过测试是可行的,能够直接获取当前栏目的顶级栏目ID。
方法二:修改include/taglib/type.lib.php文件
1、找到include
目录下的taglib
目录中的type.lib.php
文件。
2、找到以下代码:
$row = $dsql>GetOne("Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath Fromdede_arctype
where id='$typeid' ");
3、将其修改为:
$row = $dsql>GetOne("Select id,topid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath Fromdede_arctype
where id='$typeid' ");
4、在紧接着的下一行添加:
if ($row['topid'] == 0) { $row['topid'] = $row['id']; }
这样,无论在顶级栏目还是子栏目中,都可以成功调用到顶级栏目的ID。
表格归纳
方法 | 步骤 | 优点 | 缺点 |
使用标签 | 直接插入标签{dede:field.typeid function=”GetTopid(@me)”/} | 简单易用,无需修改代码 | 功能有限,仅能获取顶级栏目ID |
修改type.lib.php文件 | 修改文件并添加条件语句 | 功能全面,可获取更多信息 | 需要一定的代码知识 |
常见问题解答FAQs
1. 如何在DEDECMS列表页和内容页调用顶级栏目名称?
答:可以通过以下两种方法来实现:
1、使用标签:在需要调用的地方插入以下标签:
{dede:field name='typename' function="GetTopid(@me)"/}
2、修改type.lib.php文件:找到include/taglib/type.lib.php
文件中的相关代码,并进行如下修改:
$row = $dsql>GetOne("Select id,topid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath Fromdede_arctype
where id='$typeid' ");
if ($row['topid'] == 0) { $row['topid'] = $row['id']; }
这样就可以在模板中通过$row['typename']
来获取顶级栏目的名称。
2. 如何在DEDECMS中调用顶级栏目的URL?
答:可以通过以下两种方法来实现:
1、使用标签:在需要调用的地方插入以下标签:
{dede:field name='typeurl' function="GetTopid(@me)"/}
2、修改type.lib.php文件:找到include/taglib/type.lib.php
文件中的相关代码,并进行如下修改:
$row = $dsql>GetOne("Select id,topid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath Fromdede_arctype
where id='$typeid' ");
if ($row['topid'] == 0) { $row['topid'] = $row['id']; }
这样就可以在模板中通过$row['typedir']
来获取顶级栏目的URL。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。