您现在的位置是:首页 > cms教程 > DedeCMS教程DedeCMS教程

dedecms调用当前顶级栏目名称、ID、url的教程

穆影焱2023-09-13DedeCMS教程已有人查阅

导读使用dede时,经常会碰到需要调用当前顶级栏目名称,而织梦默认{dede:field name=typename /} 只可以获取当前栏目页上一级栏目的名

使用dede时,经常会碰到需要调用当前顶级栏目名称,而织梦默认{dede:field name='typename' /} 只可以获取当前栏目页上一级栏目的名称,而不是当前栏目顶级栏目名称。
在include/common.func.php的底部加入:
//获取顶级栏目名
function GetTopTypename($id)
{
    global $dsql;
    $row = $dsql->GetOne("SELECT typename,topid FROM dede_arctype WHERE id= $id");
    if ($row['topid'] == '0')
    {
        return $row['typename'];
    }
    else
    {
        $row1 = $dsql->GetOne("SELECT typename FROM dede_arctype WHERE id= $row[topid]");
        return $row1['typename'];
    }
}
备注:若顶级栏目没有绑定二级域名,所调用的字段应该是 sitepath 故代码应如下所示:
//获取顶级栏目url 
function GetTopTypeurl($id)
{
    global $dsql;
    $row = $dsql->GetOne("SELECT sitepath,topid FROM dede_arctype WHERE id= $id");
    if ($row['topid'] == '0')
    {
        return $row['sitepath'];
    }
    else
    {
        $row1 = $dsql->GetOne("SELECT sitepath FROM dede_arctype WHERE id= $row[topid]");
        return $row1['sitepath'];
    }
}
顶级栏目其他字段调用的function 函数仿照上面所示书写即可。
同理可得获取顶级栏目url方法 (当顶级栏目绑定二级域名时调用的字段为“ siturl”)
function GetTopTypeurl($id)
{
    global $dsql;
    $row = $dsql->GetOne("SELECT siteurl,topid FROM dede_arctype WHERE id= $id");
    if ($row['topid'] == '0')
    {
        return $row['siteurl'];
    }
    else
    {
        $row1 = $dsql->GetOne("SELECT siteurl FROM dede_arctype WHERE id= $row[topid]");
        return $row1['siteurl'];
    }
}
在文章页或者栏目列表页调用时,在所要调用栏目名称的位置加上下面这行代码即可实现。
{dede:field name='typeid' function="GetTopTypename(@me)" /} 顶级栏目名
{dede:field name='typeid' function="GetTopTypeurl(@me)" /} 顶级栏目url
dede调用顶级栏目ID 方法一:
{dede:field.typeid function="GetTopid(@me)"/} 首推这一方法,经过测试是可行的。
dede调用顶级栏目ID 方法二:
1、在所需要调用顶级栏目ID的地方,添加这段标签语法
{dede:type}[feild:topid/]{/dede:type}
2、修改源文件,找到include目录下的taglib目录下的type.lib.php。
找到这条语句
$row = $dsql->GetOne("Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From `dede_arctype` where id='$typeid'");
修改成为
$row = $dsql->GetOne("Select id,topid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From `dede_arctype` where id='$typeid'");
在if(!is_array($row)) return ”;下一行添加
if( $row['topid']==0){$row['topid']=$row['id'];}
这样,这条语句在顶级栏目还是子栏目,都可以调用了

本文标签:

很赞哦! ()

相关源码

  • 帝国CMS7.5二次元COS漫展网站模板源码免费下载本模板基于帝国CMS 7.5版本深度开发,为二次元文化分享领域设计。采用UTF-8编码,支持中文内容展示,特别适用于COSPLAY作品展示、漫展信息发布等二次元相关内容的网站建设。模板结构清晰,布局合理,充分考虑了二次元用户群体的浏览习惯和审美需求。查看源码
  • (自适应)宽屏大气红色机械设备pbootcms模板源码下载为机械设备制造企业设计的响应式网站模板,采用PbootCMS内核开发。宽屏布局突出设备展示效果,红色工业风格贴合机械行业属性,支持PC端与手机端自动适配查看源码
  • (PC+WAP)绿色环保建筑设备通用行业pbootcms源码下载通过模块调整可适配园林景观、装配式建筑、绿色装修等生态建设相关领域。预制绿色建材展示、能耗模拟等专业模块,集成项目案例、环保工艺等建筑行业特色内容结构,测试数据包含LEED认证体系查看源码
  • (自适应响应式)pbootcms紫色美容整形机构企业模板下载基于PbootCMS内核开发的响应式网站模板,为医疗美容机构、整形医院等企业设计,提供完整的线上展示平台采用紫色系配色方案,整体风格专业大气。模板包含首页轮播、服务项目、专家团队、案例展示等核心模块,能够充分展示医疗美容机构的专业服务和特色优势。查看源码
  • (自适应)摄像头安防电子设备pbootcms源码下载本模板基于PbootCMS系统开发,为安防电子设备企业设计,特别适合监控摄像头、安防系统等产品的展示。采用响应式技术,确保各类设备参数和功能在不同终端上都能清晰呈现。查看源码
  • (自适应)高端集团跨国公司产业联盟机构网站模板免费下载基于PbootCMS内核开发的集团级企业网站模板,采用响应式设计架构,确保在各类移动设备上获得浏览体验。通过模块化布局与简约大气的视觉风格,帮助集团企业高效展示组织架构、发展历程和业务矩阵,建立专业的企业形象窗口。查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐