【UCHome二次開發】模板語法說明
來源:
發布時間:2010/4/24
瀏覽次數:825
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默認模板。對比一下模板代碼和解析后的代碼便可知語法的效果,所以文中不多解釋。個人自習結果,如有不對之處歡迎拍磚。