帝国cms灵动、万能标签加if判断

李和周 2016-05-11 16:17:06 帝国CMS 628 ℃ 0 评论

帝国CMS在很多地方都需要使用到if判读语句来判断第n条附加特殊样式。如:阅读排行榜第1条使用缩略图,前3条数字使用红色图标。

这次前端开发分享帝国CMS在不同地方如何使用if判读语句的几种方法。分别有以下几种情况:

灵动标签[e:loop]中使用if判断语句

//灵动标签中,第一条标题使用H2,其他使用H3

[e:loop={0,10,3,0}]
<?php if($bqno == '1') : //第一条?>
<h2><a href="<?=$bqsr['titleurl']?>"><?=$bqr['title']?></a></h2>
<?php else : //其余?>
<h3><a href="<?=$bqsr['titleurl']?>"><?=$bqr['title']?></a></h3>
<?php endif;?>
[/e:loop]

灵动标签可以在【首页模板】中使用,也可以在【列表模板】、【内容模板】中的[页面模板内容]和【公共模板变量】中[变量值]中使用上面的if判断语句。

还有些地方待测试使用。说起其主要原因是因为模板内容为PHP代码,可以使用php所有处理函数

列表模板和标签模板(如万能标签)中的[列表内容模板(list.var)]使用if判断语句

//列表内容模板中,每4个li加上class="end"

if($no %4 == 0){
$class = ' class="end"';
}
$listtemp='
<li'.$class.'>
<a href="[!--titleurl--]"><img src="[!--titlepic--]" /></a>
<a href="[!--titleurl--]">[!--title--]</a>
</li>
';

//标签模板中,前2个li加上图片img

$newimg='';
if($no < 3)
{
$r[titlepic]=sys_ResizeImg($r[titlepic],120,80,1,'') ? sys_ResizeImg($r[titlepic],120,80,1,'') : $public_r[newsurl]."skin/default/images/noimg.gif";
$newimg="<img src='$r[titlepic]' alt='$r[title]'>";
}
$listtemp='<li class="col_[!--no.num--]">'.$newimg.'
<i class="num num_[!--no.num--]"></i>
<a href="[!--titleurl--]" title="[!--title--]" class="title" target="_blank">[!--title--]</a>
</li>
';

如果在【列表内容模板(list.var)】中使用if判断语句,下面是前端开发学习网站不得不说的几点:

一、必须在【列表内容模板(list.var)】中勾选【使用程序代码】选项。如图:

程序代码.png

帝国cms中if语句的使用方法

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

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

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

本文TAG:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

李和周个人博客