【UCHome二次开发】模板语法说明
来源:
发布时间:2010/4/24
浏览次数:921
UCHome二次开发时,了解模板的语法是必须的,下面对其中的语法做一一介绍。至于模板的解析过程请参考《UCHome二次开发之模板解析》。
1、调用其他模板
说明:将以模板header.htm来替换此处的代码
2、调用头像
模板代码:
解析后的代码:
1 |
<?php echo avatar($value[uid],small); ?> |
3、调用广告
模板代码:
解析后的代码:
1 |
<?php adshow('header'); ?> |
4、调用时间
模板代码:
解析后的代码:
1 |
<?php echo sgmdate('Y-m-d H:i', $value[dateline], 1); ?> |
5、输出PHP代码
模板代码:
解析后的代码:
1 |
<?php echo formhash(); ?> |
说明:<!–{eval和}–>之间的是需要执行的PHP代码,要求语句完整。
6、调用变量
模板代码:
1 |
<a href="space.php?uid=$value[uid]">{$_SN[$value[uid]]}</a> |
解析后的代码:
1 |
<a href="space.php?uid=<?=$value['uid']?>"><?=$_SN[$value['uid']]?></a> |
说明:{和}之间的是需要输出的变量。
7、选择输出逻辑
模板代码:
2 |
<li><a href="cp.php?ac=mtag&op=join&tagid=$mtag[tagid]" id="a_mtag_join_$mtag[tagid]" onclick="ajaxmenu(event, this.id, 99999)">加入群组</a></li> |
4 |
<li><a href="cp.php?ac=thread&tagid=$mtag[tagid]">发起话题</a></li> |
解析后的代码:
1 |
<?php if(empty($mtag['ismember']) && $mtag['joinperm'] < 2) { ?> |
2 |
<li><a href="cp.php?ac=mtag&op=join&tagid=<?=$mtag['tagid']?>" id="a_mtag_join_<?=$mtag['tagid']?>" onclick="ajaxmenu(event, this.id, 99999)">加入群组</a></li> |
3 |
<?php } elseif($mtag['allowpost']) { ?> |
4 |
<li><a href="cp.php?ac=thread&tagid=<?=$mtag['tagid']?>">发起话题</a></li> |
说明:当然这里可以没有elseif,其语法有点类似VB,需要有结尾符。
8、循环输出逻辑
模板代码 1:
06 |
<a href="space.php?uid=$value[uid]&do=thread&id=$value[tid]">$value[subject]</a></td> |
07 |
<td><a href="space.php?uid=$value[uid]">{$_SN[$value[uid]]}</a><br>$value[replynum]/$value[viewnum]</td> |
08 |
<td><a href="space.php?uid=$value[lastauthorid]" title="{$_SN[$value[lastauthorid]]}">{$_SN[$value[lastauthorid]]}</a><br></td> |
解析后的代码 1:
01 |
<?php if(is_array($list)) { foreach($list as $key => $value) { ?> |
02 |
<tr <?php if($key%2==1) { ?><?php } ?>> |
04 |
<?php if($value['displayorder']) { ?> [顶] <?php } ?> |
05 |
<?php if($value['digest']) { ?> [精] <?php } ?> |
06 |
<a href="space.php?uid=<?=$value['uid']?>&do=thread&id=<?=$value['tid']?>"><?=$value['subject']?></a></td> |
07 |
<td><a href="space.php?uid=<?=$value['uid']?>"><?=$_SN[$value['uid']]?></a><br><?=$value['replynum']?>/<?=$value['viewnum']?></td> |
08 |
<td><a href="space.php?uid=<?=$value['lastauthorid']?>" title="<?=$_SN[$value['lastauthorid']]?>"><?=$_SN[$value['lastauthorid']]?></a><br><?php echo sgmdate('m-d H:i',$value[lastpost],1); ?></td> |
说明:loop后跟三个参数时,第一个参数是用于循环的数组,第二个和第三个参数分别是对数组中每一项循环时项的键名和值。
模板代码 2:
3 |
<div><a href="space.php?uid=$value[uid]"><img src="" alt="{$_SN[$value[uid]]}" /></a></div> |
4 |
<p><a href="space.php?uid=$value[uid]">{$_SN[$value[uid]]}</a></p></li> |
解析后的代码 2:
1 |
<?php if(is_array($memberlist)) { foreach($memberlist as $value) { ?> |
3 |
<div><a href="space.php?uid=<?=$value['uid']?>"><img src="<?php echo avatar($value[uid],small); ?>" alt="<?=$_SN[$value['uid']]?>" /></a></div> |
4 |
<p><a href="space.php?uid=<?=$value['uid']?>"><?=$_SN[$value['uid']]?></a></p></li> |
说明:loop后跟两个参数时,第一个参数是用于循环的数组,第二个参数是对数组中每一项循环时项的值。
注:以上所有实例皆摘录自UCHome 1.5默认模板。对比一下模板代码和解析后的代码便可知语法的效果,所以文中不多解释。个人自习结果,如有不对之处欢迎拍砖。