DzzOffice 系统中常用语法

可以通过print_r($GLOBALS)var_dump($GLOBALS),打印全部变量。

变量输出

输出一个变量的值

  • 模板中调用方式:{$my_var}$my_var

在模板中花括号可以省略但不建议去掉。

  • php文件调用方式: $my_var
条件判断

通过if判断流程分支

  • 模板中调用方式:
<!--{if $my_var}--> 任意html语句 <!--{/if}-->

带有多条件的if写法,可使用PHP常规判断中的各种运算符

<!--{if $my_var && ($my_var2 & 1 || $my_var3 == 3)}--> 任意html语句 <!--{/if}-->

带有分支条件的if写法

<!--{if $my_var == 1}--> 变量为1 <!--{elseif $my_var == 2}--> 变量为2 <!--{else}--> 其他情况 <!--{/if}-->
  • php文件调用方式:
if ($my_var) {
}

带有多条件的if写法,可使用PHP常规判断中的各种运算符

if ($my_var && ($my_var2 & 1 || $my_var3 == 3)) {
}

带有分支条件的if写法

if ($my_var == 1) {
}elseif ($my_var == 2){
}else{
}
循环输出

带有数组键的循环写法

  • 模板中调用方式:
<!--{loop $my_arr $key $val}--> 循环输出的HTML语句 <!--{/loop}-->

没有数组键的循环写法

<!--{loop $my_arr $val}-->

  • php文件调用方式:
foreach($my_arr as $val){
}
模板嵌套

网站显示控制(网站多样化风格输出)处理原理:系统使用class_template.php中的parse_template()函数,通过PHP正则运算将htm模文件中的模板标签转换为PHP代码,并将其保存到\data\template目录下。此过程类似于Smarty中的模板处理,尽管具体算法与过程有所不同,但Smarty仍是一种重型模板引擎方案。其原理都是把模板中的变量转换成相应的PHP代码,这个过程实际是模访JAVA中的一次编译,多处运行。

例如dir/main 对应某个模块中template目录中的dir目录的main.htm模板文件

  • 模板中调用方式:<!--{template dir/main}-->
  • php文件调用方式:include template('dir/main');

例如main 对应某个模块中template目录的main.htm模板文件

  • 模板中调用方式:<!--{template main}-->
  • php文件调用方式:include template('main');

程序调用模板时,将优先寻找当前层,如应用dzz/test,将查找test对应目录下的template下的模板文件,若未找到,则向上查找dzz下的模板目录。若依然未找到,则调用\core\template\default\common\下的模板文件。在找到任意一层后,将不再向上查找。

变量数组可以嵌套使用
  • 模板中调用方式:

<!--{if $my_arr[$my_var]}-->

<!--{if $my_arr[0]}-->

<!--{if $my_arr[$my_arr2[$my_var]]}-->

  • php文件调用方式:
if ($my_arr[$my_var]) {
}
if ($my_arr[0]) { 
}
if ($my_arr[$my_arr2[$my_var]]) {
}
PHP语句解析

在模板中使用PHP语句可以通过{eval }进行

  • 模板中调用方式:

<!--{eval $my_var = 1;}-->

<!--{eval echo $my_var;}-->

<!--{eval $my_arr = array(1, 2, 3);}-->

<!--{eval print_r($my_arr);}-->

<!--{eval output();}-->

<!--{eval exit();}-->

  • php文件调用方式:
$$my_var = 1;
echo $$my_var;
$$my_arr = array(1, 2, 3);
print_r($$my_arr);
output();
exit();
路由语句使用

以下说明以当前页面URL为http://127.0.0.1/admin.php?mod=systemlog&op=admin为例

  • 模板中调用方式:{MOD_PATH}
  • php文件调用方式: MOD_PATH

结果为:admin/systemlog

  • 模板中调用方式:{MOD_NAME}
  • php文件调用方式: MOD_NAME

结果为:systemlog

  • 模板中调用方式:{MOD_DIR}
  • php文件调用方式: MOD_DIR

结果为:./admin/systemlog

  • 模板中调用方式:{MOD_URL}
  • php文件调用方式: MOD_URL

结果为:admin.php?mod=systemlog

  • 模板中调用方式:{OP_NAME}
  • php文件调用方式: OP_NAME

结果为:admin

  • dzzoffice小胡版模板中调用方式:{OP_NAME}
  • dzzoffice小胡版php文件调用方式: OP_NAME

结果为:admin.php?mod=systemlog&op=admin

获取当前域名

以http://127.0.0.1域名为例,结果为http://127.0.0.1/

  • 模板中调用方式:{$_G['siteurl']}$_G[siteurl]{$_G[siteurl]}
  • php文件调用方式: $_G['siteurl']$_G[siteurl]
获取当前用户UID

以当前用户UID是1为例,结果为1

  • 模板中调用方式:{$_G['uid']}$_G[uid]{$_G[uid]}
  • php文件调用方式: $_G['uid']$_G[uid]
获取当前用户名

以当前用户名是小胡为例,结果为小胡

  • 模板中调用方式:{$_G['username']}$_G[username]{$_G[username]}
  • php文件调用方式: $_G['username']$_G[username]
获取当前用户的ip地址
  • 模板中调用方式:{$_G['clientip']}$_G[clientip]{$_G[clientip]}
  • php文件调用方式: $_G['clientip']$_G[clientip]
获取当前时间
  • 模板中调用方式:{$_G['timestamp']}$_G[timestamp]{$_G[timestamp]}
  • php文件调用方式: $_G['timestamp']$_G[timestamp]TIMESTAMP

如果要显示成个性化时间就需要配合dgmdate函数,例如dgmdate(TIMESTAMP);,如果要自定义显示格式,示例代码dgmdate(TIMESTAMP, 'Y-m-d H:i');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小胡2024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值