帝国 CMS 的自定义页面(单页)模板中,获取页面 ID、标题、关键词等信息需要使用特定的全局变量或数据库查询。以下是详细的获取方法和示例:

一、自定义页面核心变量获取(直接可用的全局变量)

在自定义页面模板中,系统提供了$navinfor全局数组,包含当前自定义页面的基本信息:
php
<?php
// 自定义页面ID
$pageid = $navinfor['id'];

// 页面名称(标题)
$pagetitle = $navinfor['title'];

// 页面关键词
$pagekey = $navinfor['keyboard'];

// 页面描述
$pagedesc = $navinfor['description'];

// 页面URL
$pageurl = $navinfor['pageurl'];

// 页面添加时间(时间戳)
$addtime = $navinfor['addtime'];

// 页面最后修改时间(时间戳)
$lastdotime = $navinfor['lastdotime'];
?>

直接输出示例
php
<div class="page-info">
    <h1><?=$navinfor['title']?></h1>
    <p>页面ID:<?=$navinfor['id']?></p>
    <p>关键词:<?=$navinfor['keyboard']?></p>
    <p>描述:<?=$navinfor['description']?></p>
    <p>最后更新:<?=date('Y-m-d H:i:s', $navinfor['lastdotime'])?></p>
</div>

二、获取自定义页面内容(content字段)

自定义页面的内容存储在副表中,需要通过页面 ID 查询获取:
php
<?php
// 获取当前页面ID
$pageid = $navinfor['id'];

// 连接数据库查询内容
global $empire, $dbtbpre;
$r = $empire->fetch1("SELECT content FROM {$dbtbpre}enewspage_data WHERE id='$pageid'");

// 页面内容
$pagecontent = $r['content'];

// 输出内容
echo '<div class="page-content">'.$pagecontent.'</div>';
?>

三、完整模板示例(包含所有变量)

php
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title><?=$navinfor['title']?> - 网站名称</title>
    <!-- 关键词和描述 -->
    <meta name="keywords" content="<?=$navinfor['keyboard']?>">
    <meta name="description" content="<?=$navinfor['description']?>">
</head>
<body>
    <!-- 页面标题 -->
    <header>
        <h1><?=$navinfor['title']?></h1>
        <div class="meta">
            <span>页面ID:<?=$navinfor['id']?></span>
            <span>更新时间:<?=date('Y-m-d', $navinfor['lastdotime'])?></span>
        </div>
    </header>

    <!-- 页面内容 -->
    <main>
        <?php
        // 获取并输出页面内容
        $pageid = $navinfor['id'];
        global $empire, $dbtbpre;
        $r = $empire->fetch1("SELECT content FROM {$dbtbpre}enewspage_data WHERE id='$pageid'");
        echo $r['content'];
        ?>
    </main>

    <!-- 底部信息 -->
    <footer>
        <p>页面URL:<?=$navinfor['pageurl']?></p>
    </footer>
</body>
</html>