如何从织梦dedecms子栏目中获取对应顶级栏目的ID号?

<?php
// 假设您已经连接到了数据库,并且已经定义了dedecms的相关数据库表前缀
/**
 * 获取子栏目顶级栏目ID
 * 
 * @param int $cid 子栏目的ID
 * @return int 顶级栏目的ID
 */
function getTopCategoryId($cid) {
    global $dsql; // 获取DedeCMS的数据库操作对象
    // 查询当前子栏目的父栏目ID
    $sql = "SELECT pid FROM#@__arctype WHERE id = '$cid'";
    $row = $dsql>GetOne($sql);
    // 如果存在父栏目,则继续向上查询,直到顶级栏目
    while ($row['pid'] > 0) {
        $sql = "SELECT pid FROM#@__arctype WHERE id = '$row[pid]'";
        $row = $dsql>GetOne($sql);
    }
    // 返回顶级栏目的ID
    return $row['pid'];
}
// 使用示例
$childCategoryId = 10; // 假设这是您要查询的子栏目ID
$topCategoryId = getTopCategoryId($childCategoryId);
echo "顶级栏目的ID为:$topCategoryId";
?>

代码提供了一个函数getTopCategoryId,它接受一个子栏目的ID作为参数,然后通过查询数据库中的栏目表(#@__arctype)来递归地找到顶级栏目的ID,代码中使用了DedeCMS的数据库操作对象$dsql 来执行SQL查询。

您需要根据您的DedeCMS数据库表前缀替换#@__arctype,以确保代码在您的网站上正常工作。

如何从织梦dedecms子栏目中获取对应顶级栏目的ID号?

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

(0)
未希的头像未希新媒体运营
上一篇 2024-10-02 08:13
下一篇 2024-10-02 08:15

发表回复

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

免费注册
电话联系

400-880-8834

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