codecamp

模板语法

1.变量输出

输出一个变量的值,花括号可以省略但不建议去掉。

{$my_var}


2.条件判断

通过if判断流程分支,如果写在HTML表单元素中,可以省去使代码更清晰易读,如{if $my_var}xxx{/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}-->


3.循环输出

带有数组键的循环写法

<!--{loop $my_arr $key $val}-->
    循环输出的HTML语句
<!--{/loop}-->

没有数组键的循环写法

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


4.模板嵌套

将被嵌套模板内容解析为PHP语句并合并入本模板中的写法,dir/main 对应某个模块中template目录中的dir目录的main.htm模板文件

<!--{subtemplate dir/main}-->

程序运行时include嵌套模板内容

<!--{template dir/main}-->


5.变量数组可以嵌套使用

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


6.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();}-->


7.语言包使用

在模板中可以通过下面的代码来使用语言包中的某个值

{lang title}

其中语言包在 当前模块/language/lang_template.php中或上级模块/language/lang_template.php中或./core/language/lang_template.php中  以PHP数组形式存放

模板实现原理
系统内置缓存
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Dzz系统框架

输入数据处理

数据DB层

安全相关

上传组件

评论组件

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }