$navinfor是帝国CMS内容页中存储当前信息字段数据的全局数组变量,包含id、title、newstime等主要字段,支持直接调用如echo $navinfor['title']输出标题,结合sys_ReturnBqTitleLink()生成链接,常用于内容模板或PHP代码中提升开发效率。

在帝国CMS模板中,$navinfor 是一个非常实用的全局变量,通常用于内容页、反馈表单页或其他需要调用当前信息数据的页面。它是一个数组,存储了当前所访问信息的所有字段数据,方便开发者直接调用。
什么是 $navinfor 变量?
$navinfor 是帝国CMS在内容模板或自定义PHP代码中自动赋值的一个数组变量,仅在内容页(如新闻内容页)中可用。它包含了当前文章(记录)的完整数据,相当于通过SQL查询获取的一条完整记录。
$navinfor 包含的主要字段数据
以默认的数据表(如 news 表)为例,$navinfor 数组中常见的字段包括:
- id:信息ID,唯一标识符
- classid:所属栏目ID
- title:标题
- newstime:发布时间(时间戳格式)
- keyboard:关键词
- groupid:下载/附件组ID(适用于附件类系统模型)
- userid:发布者用户ID
- username:发布者用户名
- ftitle:副标题
- smalltext:简介/摘要
- titlepic:标题图片地址
- ispic:是否为推荐图片(1=是,0=否)
- onclick:点击次数
- plnum:评论数量
- totaldown:下载次数
- firsttitle:一级推荐(1=是)
- isgood:是否为精华(1=是)
- filename:文件名(若启用静态命名规则)
- titleurl:文章完整URL路径
- stb:使用的副表编号
- infotags:关联的标签(以逗号分隔)
- newstext:正文内容(存于副表)
注意:newstext 等大字段通常存储在副表(如 news_data_1)中,但通过 $navinfor 仍可直接调用,前提是模板支持数据读取。
如何使用 $navinfor 变量?
在内容模板中(.php 文件或支持PHP的模板),可以直接使用该变量输出字段。例如:
也可以结合帝国函数生成链接:
=sys_ReturnBqTitleLink($navinfor)?> // 输出带链接的标题
在灵动标签中也可使用:
[e:loop={0,10,0,'',''}]
=date('Y-m-d',$bqr[newstime])?> - =esub($bqr[title],30)?>
[/e:loop]
虽然灵动标签一般用 $bqr,但在某些自定义PHP逻辑中,$navinfor 仍可用于当前内容上下文。
注意事项
- $navinfor 仅在内容页有效,列表页、首页等无法直接使用
- 确保开启了“使用程序代码”功能,才能在模板中写PHP代码
- 调用副表字段时,需确认数据已加载(通常系统自动处理)
- 安全起见,输出内容建议过滤,如使用 htmlspecialchars() 防止XSS
基本上就这些。掌握 $navinfor 的结构和用法,能极大提升帝国CMS模板开发效率,尤其适合做个性化内容展示或复杂逻辑判断。










