【UCHome二次开发】UCHome模板语法…

来源:互联网 发布:skyline软件下载 编辑:程序博客网 时间:2024/05/13 20:44

UCHome二次开发时,了解模板的语法是必须的,下面对其中的语法做一一介绍。至于模板的解析过程请参考《UCHome二次开发之模板解析》。

1、调用其他模板

1<!--{templatefooter}-->

说明:将以模板header.htm来替换此处的代码

2、调用头像

模板代码:

1<!--{avatar($value[uid],small)}-->

解析后的代码:

1<?php echoavatar($value[uid],small);?>

3、调用广告

模板代码:

1<!--{ad/header}-->

解析后的代码:

 
1<?php adshow('header');?>

4、调用时间

模板代码:

1<!--{date('Y-m-d H:i',$value[dateline], 1)}-->

解析后的代码:

1<?php echosgmdate('Y-m-d H:i',$value[dateline], 1);?>

5、输出PHP代码

模板代码:

 
1<!--{eval echoformhash();}-->

解析后的代码:

1<?php echoformhash(); ?>

说明:<!–{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、选择输出逻辑

模板代码:

1<!--{if empty($mtag['ismember'])&amp;&amp; $mtag['joinperm']< 2}-->
2   <li><ahref="cp.php?ac=mtag&amp;op=join&amp;tagid=$mtag[tagid]"id="a_mtag_join_$mtag[tagid]"onclick="ajaxmenu(event,this.id,99999)">加入群组</a></li>
3<!--{elseif$mtag['allowpost']}-->
4   <li><ahref="cp.php?ac=thread&amp;tagid=$mtag[tagid]">发起话题</a></li>
5<!--{/if}-->

解析后的代码:

1<?php if(empty($mtag['ismember'])&amp;&amp;$mtag['joinperm']< 2) { ?>
2   <li><ahref="cp.php?ac=mtag&amp;op=join&amp;tagid=<?=$mtag['tagid']?>"id="a_mtag_join_<?=$mtag['tagid']?>"onclick="ajaxmenu(event, this.id,99999)">加入群组</a></li>
3<?php } elseif($mtag['allowpost']){ ?>
4   <li><ahref="cp.php?ac=thread&amp;tagid=<?=$mtag['tagid']?>">发起话题</a></li>
5<?php } ?>

说明:当然这里可以没有elseif,其语法有点类似VB,需要有结尾符。

8、循环输出逻辑

模板代码 1:

01<!--{loop $list $key$value}-->
02<tr <!--{if$key%2==1}--><!--{/if}-->>
03<td>
04   <!--{if$value[displayorder]}-->[顶] <!--{/if}-->
05   <!--{if$value[digest]}-->[精] <!--{/if}-->
06   <ahref="space.php?uid=$value[uid]&amp;do=thread&amp;id=$value[tid]">$value[subject]</a></td>
07<td><ahref="space.php?uid=$value[uid]">{$_SN[$value[uid]]}</a><br>$value[replynum]/$value[viewnum]</td>
08<td><ahref="space.php?uid=$value[lastauthorid]"title="{$_SN[$value[lastauthorid]]}">{$_SN[$value[lastauthorid]]}</a><br><!--{date('m-dH:i',$value[lastpost],1)}--></td>
09</tr>
10<!--{/loop}-->

解析后的代码 1:

01<?php if(is_array($list)){ foreach($listas $key=> $value) {?>
02<tr <?phpif($key%2==1){ ?><?php }?>>
03<td>
04   <?phpif($value['displayorder']){ ?> [顶] <?php }?>
05   <?phpif($value['digest']){ ?> [精] <?php }?>
06   <ahref="space.php?uid=<?=$value['uid']?>&amp;do=thread&amp;id=<?=$value['tid']?>"><?=$value['subject']?></a></td>
07<td><ahref="space.php?uid=<?=$value['uid']?>"><?=$_SN[$value['uid']]?></a><br><?=$value['replynum']?>/<?=$value['viewnum']?></td>
08<td><ahref="space.php?uid=<?=$value['lastauthorid']?>"title="<?=$_SN[$value['lastauthorid']]?>"><?=$_SN[$value['lastauthorid']]?></a><br><?phpechosgmdate('m-dH:i',$value[lastpost],1);?></td>
09</tr>
10<?php } } ?>

说明:loop后跟三个参数时,第一个参数是用于循环的数组,第二个和第三个参数分别是对数组中每一项循环时项的键名和值。

模板代码 2:

1<!--{loop $memberlist$value}-->
2<li>
3<div><ahref="space.php?uid=$value[uid]"><imgsrc="<!--{avatar($value[uid],small)}-->"alt="{$_SN[$value[uid]]}"/></a></div>
4<p><ahref="space.php?uid=$value[uid]">{$_SN[$value[uid]]}</a></p></li>
5<!--{/loop}-->

解析后的代码 2:

1<?php if(is_array($memberlist)){ foreach($memberlistas $value) {?>
2<li>
3<div><ahref="space.php?uid=<?=$value['uid']?>"><imgsrc="<?phpecho avatar($value[uid],small);?>"alt="<?=$_SN[$value['uid']]?>"/></a></div>
4<p><ahref="space.php?uid=<?=$value['uid']?>"><?=$_SN[$value['uid']]?></a></p></li>
5<?php } } ?>

说明:loop后跟两个参数时,第一个参数是用于循环的数组,第二个参数是对数组中每一项循环时项的值。

注:以上所有实例皆摘录自UCHome1.5默认模板。对比一下模板代码和解析后的代码便可知语法的效果,所以文中不多解释。个人自习结果,如有不对之处欢迎拍砖。