您的位置:首页 > 其它

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

2012-11-29 14:23 344 查看
UCHome二次开发时,了解模板的语法是必须的,下面对其中的语法做一一介绍。至于模板的解析过程请参考《UCHome二次开发之模板解析》。

1、调用其他模板

1
<!--{template
footer}-->
说明:将以模板header.htm来替换此处的代码

2、调用头像

模板代码:

1
<!--{avatar($value[uid],small)}-->
解析后的代码:

1
<?php
echo

avatar(
$value
[uid],small);
?>
3、调用广告

模板代码:

1
<!--{ad/header}-->
解析后的代码:

1
<?php adshow(
'header'
);
?>
4、调用时间

模板代码:

1
<!--{date('Y-m-d H:i',
$value[dateline], 1)}-->
解析后的代码:

1
<?php
echo

sgmdate(
'Y-m-d H:i'
,

$value
[dateline], 1);
?>
5、输出PHP代码

模板代码:

1
<!--{eval echo
formhash();}-->
解析后的代码:

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、选择输出逻辑

模板代码:

1
<!--{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
<!--{elseif
$mtag['allowpost']}-->
4
<
li
><
a

href
=
"cp.php?ac=thread&tagid=$mtag[tagid]"
>发起话题</
a
></
li
>
5
<!--{/if}-->
解析后的代码:

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>
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
<
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
>
<!--{date('m-d
H:i',$value[lastpost],1)}-->
</
td
>
09
</
tr
>
10
<!--{/loop}-->
解析后的代码 1:

01
<?php
if
(
is_array
(
$list
))
{
foreach
(
$list

as
$key

=>
$value
) {
?>
02
<tr <?php

if
(
$key
%2==1)
{ ?><?php }
?>>
03
<td>
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>
09
</tr>
10
<?php } } ?>
说明:loop后跟三个参数时,第一个参数是用于循环的数组,第二个和第三个参数分别是对数组中每一项循环时项的键名和值。

模板代码 2:

1
<!--{loop $memberlist
$value}-->
2
<
li
>
3
<
div
><
a

href
=
"space.php?uid=$value[uid]"
><
img

src="
<!--{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
>
5
<!--{/loop}-->
解析后的代码 2:

1
<?php
if
(
is_array
(
$memberlist
))
{
foreach
(
$memberlist

as
$value
) {
?>
2
<li>
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>
5
<?php } } ?>
说明:loop后跟两个参数时,第一个参数是用于循环的数组,第二个参数是对数组中每一项循环时项的值。

注:以上所有实例皆摘录自UCHome
1.5默认模板。对比一下模板代码和解析后的代码便可知语法的效果,所以文中不多解释。个人自习结果,如有不对之处欢迎拍砖。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: