牛骨文教育服务平台(让学习变的简单)
博文笔记

在帝国CMS列表模板list.var中写PHP代码

创建时间:2015-10-15 投稿人: 浏览次数:3450

前言:
帝国所有模板均可使用php代码对字段内容进行灵活处理,唯独列表模板list.var不支持使用程序代码,为了使帝国模板制作更加完美、满足各种需求,帝国v6.0新增了list.var支持程序代码功能,列表模板、标签模板(ecmsinfo标签调用)与搜索模板list.var均可使用php代码对字段内容进行验证或任意处理再输出,使信息列表显示效果更加强大灵活。今天我们要讲解此功能的使用:

实现要点:
1、增加模板时list.var模板需要勾选“使用程序代码”选项。如图:


2、直接添加PHP代码,不需要加<?和?>程序开始和结束标记。

3、字段值数组变量为$r,对应的字段变量为$r[字段名],如:标题字段变量就是$r[title]。另外编号变量为$no

4、将最终模板内容赋给$listtemp变量。

5、列表页信息的升序/降序在栏目的生成选项里面设置
list.var模板范例:
例子1:如果信息没有设置标题图片就显示指定的图片。

if(empty($r[titlepic]))
{
       $r[titlepic]="/images/img.gif";
}
$listtemp="<li><ahref="http://www.rrzzw.com/ecms/jianjie/15.html"><imgsrc="[!--titlepic--]"></a></li>";
说明:$r[titlepic]为标题图片字段变量。$listtemp为模板内容变量。

例子2:如果信息是今天发布的就显示“NEW”图片标识。
$newimg="";
if(time()-$r[newstime]<=1*24*3600)
{
       $newimg="<img src="NEW图片地址"border="0">";
}
$listtemp="<li><ahref="http://www.rrzzw.com/ecms/jianjie/15.html">[!--title--]</a>".$newimg."</li>";
说明:$r[newstime]为发布时间字段变量。$listtemp为模板内容变量。

例子3:调用投稿用户的公司名称。
$userr=$empire->fetch1("select company from{$dbtbpre}enewsmemberadd where userid="$r[userid]" limit1");
$listtemp="<li><ahref="http://www.rrzzw.com/ecms/jianjie/15.html">[!--title--]</a><span>公司名称:".$userr[company]."</span></li>";
说明:$r[userid]为发布者用户ID字段变量。$listtemp为模板内容变量。

其他说明:
如果$listtemp引用模板内容是用单引号,那么里面使用单引号前面要加,例如:$listtemp="<imgsrc="[!--titlepic--]">";
相反如果引用模板内容是用双引号,那么里面使用双引号前面也要加,例如:$listtemp="<imgsrc="[!--titlepic--]">";

支持程序代码可以实现很多非常复杂的应用需求,上面只是举了几个简单的例子,更多需要用户去实践。
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。