使用帝国CMS进行网站开发时,list.var 是列表模板中非常关键的一个功能标签,主要用于自定义信息列表的显示样式。它不是直接写在模板文件中的普通标签,而是在“管理列表模板”中通过添加或修改“列表内容模板(list.var)”来实现的。下面详细介绍它的使用方法和注意事项。

list.var 是什么?

list.var 实际上是帝国CMS中用于列表页数据循环展示的一个模板片段。每一条信息的显示都由 list.var 定义的格式输出。它通常配合“列表模板”中的 [!----] 标签使用,属于后台可管理的模板变量。

注意:list.var 模板必须设置为“使用程序代码”才能调用 PHP 函数或系统变量,否则只能使用简单的 HTML 和帝国标签。

如何添加 list.var 模板?

进入帝国后台操作步骤如下:

登录后台 → “模板” → “管理列表模板”

选择对应的数据表(如新闻系统数据表)→ 点击“增加模板”或编辑已有模板

在“列表内容模板(list.var)”文本框中编写你的HTML+帝国标签代码

勾选“使用程序代码”选项(如果需要使用 $r 数组或 PHP 函数)

保存后,在“修改数据表” → “系统模型”中将该 list.var 模板应用到对应的数据表

list.var 基本语法与变量说明

在 list.var 中,可以通过 $r 数组访问当前记录的所有字段值,例如:

示例(启用“使用程序代码”):复制AI写代码

$title = esub($r[title],30); // 截取标题前30个字符
$pic = $r[titlepic] ? $r[titlepic] : '/e/data/images/notimg.gif'; // 判断是否有缩略图
$classname = $empire->fetch1("SELECT classname FROM {$dbtbpre}enewsclass WHERE classid='$r[classid]'")[classname];
$listtemp = '
<div class="news-item">
<h3><a href="'./$public_r[newsurl].'article/'.$r[classid].'/'.$r[id].'-1.html" target="_blank">'.$title.'</a></h3>
@@##@@
<p class="class">栏目:'.$classname.'</p>
<p class="time">'.date('Y-m-d',$r[newstime]).'</p>
</div>
';

最后一定要把拼接好的 HTML 字符串赋值给 $listtemp 变量,系统会自动输出。

不使用程序代码的情况

如果不勾选“使用程序代码”,可以直接使用帝国内置的标签语法,比如:

[!---title--]
[!---titlepic--]
[!---newstime--]
[!---smalltext--]
[!---classurl--]
[!---class.name--]

这类方式适合简单展示,不能做逻辑判断或函数处理。