PHPIN.NET

 找回密码
 立即注册
查看: 6233|回复: 0

[官方教程] 帝国CMS功能解密之模板list.var支持程序代码(支持6.0~7.5)

[复制链接]

469

主题

31

回帖

5509

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5509
发表于 2014-4-23 17:45:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

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

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

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

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

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

list.var模板范例:
  1. if(empty($r[titlepic]))
  2. {
  3. $r[titlepic]='/images/img.gif';
  4. }
  5. $listtemp='<li><a href="[!--titleurl--]"><img src="[!--titlepic--]"></a></li>';
复制代码

说明:$r[titlepic]为标题图片字段变量。$listtemp为模板内容变量。

例子2:如果信息是今天发布的就显示“NEW”图片标识。
  1. $newimg='';
  2. if(time()-$r[newstime]<=1*24*3600)
  3. {
  4. $newimg='<img src="NEW图片地址" border="0">';
  5. }
  6. $listtemp='<li><a href="[!--titleurl--]">[!--title--]</a> '.$newimg.'</li>';
复制代码

说明:$r[newstime]为发布时间字段变量。$listtemp为模板内容变量。

例子3:调用投稿用户的公司名称。
  1. $userr=$empire->fetch1("select company from {$dbtbpre}enewsmemberadd where userid='$r[userid]' limit 1");
  2. $listtemp='<li><a href="[!--titleurl--]">[!--title--]</a> <span>公司名称:'.$userr[company].'</span></li>';
复制代码

说明:$r[userid]为发布者用户ID字段变量。$listtemp为模板内容变量。

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

支持程序代码可以实现很多非常复杂的应用需求,上面只是举了几个简单的例子,更多需要用户去实践。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|PHPIN.NET ( 冀ICP备12000898号-14 )|网站地图

GMT+8, 2024-4-26 22:38

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表