
在帝国CMS模板中,$navinfor 是一个非常实用的全局变量,通常用于内容页、反馈表单页或其他需要调用当前信息数据的页面。它是一个数组,存储了当前所访问信息的所有字段数据,方便开发者直接调用。
什么是 $navinfor 变量?
$navinfor 是帝国CMS在内容模板或自定义PHP代码中自动赋值的一个数组变量,仅在内容页(如新闻内容页)中可用。它包含了当前文章(记录)的完整数据,相当于通过SQL查询获取的一条完整记录。
$navinfor 包含的主要字段数据
以默认的数据表(如 news 表)为例,$navinfor 数组中常见的字段包括:
id:信息ID,唯一标识符classid:所属栏目IDtitle:标题newstime:发布时间(时间戳格式)keyboard:关键词groupid:下载/附件组ID(适用于附件类系统模型)userid:发布者用户IDusername:发布者用户名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的模板),可以直接使用该变量输出字段。例如:
<?phpecho $navinfor[‘title’]; // 输出标题echo $navinfor[‘smalltext’]; // 输出简介echo $navinfor[‘titlepic’] ? ‘<img src="’.$navinfor[‘titlepic’].’">’ : ”;?>
也可以结合帝国函数生成链接:
<?=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模板开发效率,尤其适合做个性化内容展示或复杂逻辑判断。

评论(0)