【UCHome二次开发】UCHome模板语法…
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']?>" οnclick= "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默认模板。对比一下模板代码和解析后的代码便可知语法的效果,所以文中不多解释。个人自习结果,如有不对之处欢迎拍砖。
【UCHome二次开发】UCHome模板语法…相关推荐
- 第七章:【UCHome二次开发】模板语法说明
如何让系统每次自动更新缓存,免去每次修改模板后都要到后台更新缓存操作,记住,在解决完所有问题后,要在改回来,否则会大幅度提高服务器负担. 打开source/function_common.php文件, ...
- 第五章:【UCHome二次开发】模板解析
UCHome模板文件位于/template文件夹下,每个模板文件单独一个文件夹,默认模板文件夹为default. 1.模板的使用配置 在根目录下的config.php中进行配 $_SC['templa ...
- 第十二章:【UCHome二次开发】全局变量
UCHome定义了一些全局变量保存常用信息,了解这些变量存放的内容将大大方便我们的二次开发. 以下依次罗列各全局变量所保存的内容: 个别全局变量在不同页面的值会有所不同,使用前最好先测试一下值是否存在 ...
- 【UCHome二次开发】全局变量
UCHome定义了一些全局变量保存常用信息,了解这些变量存放的内容将大大方便我们的二次开发. 以下依次罗列各全局变量所保存的内容: $_SC:系统全局配置 $_SBLOCK:未知 $_SCONFIG: ...
- 微信小程序开发02(模板语法与事件绑定)
模板语法与事件绑定
- phpcms 模板php代码,phpcms开发之模板语法规则
在做phpcms开发过程中,模板语法肯定是要了解的,整理如下: 1.变量表示 {$name} 被解析成 <?php echo $name;?>,表示显示变量$name的值,其中的" ...
- 第十一章:【UCHome二次开发】功能修改
有些功能的修改涉及到了流程或数据需求的变动,这时候简单的修改模板文件已经无法解决问题,而是需要修改对应的流程和数据处理代码来完成.一般处理程序文件位于/source文件夹下.具体的代码修改就是根据功能 ...
- UCHome二次开发–基本体系结构
UCHOME安装后的主要目录与文件介绍,以对uchome的整体结构有一个清晰的了解. 目录结构 admin/ 管理后台 api/ API函数[插件开发与模板等的修改不需要动此文件] ...
- 如何解决uchome自带编辑器无法获取uchome编辑器里面的值问题?(uchome二次开发)...
2019独角兽企业重金招聘Python工程师标准>>> <script language="javascript" type="text/java ...
- 系统学习 TypeScript(二)——开发流程和语法规则
前言 我们已经知道了 TypeScript 是什么,以及为什么要用 TypeScript,今天,我们就来学习怎么初步使用它. TypeScript 的使用流程 原始的 TypeScript 文件以 . ...
最新文章
- 测试嵌套JavaScript对象键的存在
- 推荐15个在线多媒体(图片、音频、视频)编辑器
- c++17(28)-Makefile(1)
- 迭代器模式(Iterator)
- freebsd查询php5的版本,FreeBSD下查看各软件版本命令
- ubuntu 16.04 安装 google浏览器
- 未名 - markdown
- Laravel 下使用 FFmpeg 处理多媒体文件
- 自己总结出三种进入加密QQ空间的方法
- platform驱动和pci驱动的区别
- form 表单提交后,使页面不跳转
- 【RL】同策略(on-policy)与异策略(off-policy)
- Redis:集合SADD、SISMEMBER、SPOP、SRANDMEMBER、SREM、SMOVE、SCARD、SMEMBERS、SSCAN命令介绍
- 数据技术之Hadoop(HFDS文件系统)
- java如何保证mq一定被消费,RabbitMQ如何保证队列里的消息99.99%被消费?
- 上课用计算机的好处,多媒体课件的优点
- 批量合同生成软件/工具
- photoshop第五章:图像的调整
- sbm预测matlab,DEA ---关于SBM模型的选择
- IOS label设置多行显示并且文字在最上方显示