模板框架介绍
PHPOK程序(下文简称程序)中使用的模板语法参考了ET(Ease Template)和 Smarty 的思路,重新编写而成
对应程序文件是:framework/phpok_tpl.php 文件
模板标签的基本说明:
-
模板标签都是使用定界符包围,模板框架定界符不允许修改。
-
大括号{和}是最基本的定界符
-
循环和条件允许使用<!-- 和 -->作为定界符
-
数组允许用点来分割,如:{$config.title},对应的php代码即为 ,但系统不支持 {$config.$title},如果是变量,请写成 {$config[$title]}
-
模板中支持PHP语法,仅请注意,这里的语法功能很弱,如果稍微复杂一点,就容易造成变量出错,建议使用【引用 PHP 文件方法来解决模板中嵌入 php 写法】
<!-- php:这里输入相应的PHP代码 --> <!-- php:$list = phpok('*****') -->
-
引用模板用
<!-- include tpl=模板名 -->
-
引用php文件用
<!-- include file=文件名 -->
条件判断
使用注释符号的条件判断一般是在HTML外写,使用大括号的条件判断一般是写在HTML里的。
多行写法
条件只有一个可以不包含括号,如果是多个条件写法,一定要带上括号
<!-- if 条件 --> ... <!-- /if --> <!-- if(条件) --> ... <!-- /if --> {if 条件} ... {/if} {if(条件)} ... {/if}
示例(参考tpl/www/index.html里面有大量的条件写法)
<!-- if $contactus.map --> <div style="width:100%;height:420px" class="overflow-hidden"><img src="{$contactus.map.gd.auto}" style="width:100%;"/></div> <!-- /if -->
单行写法
<!-- if 条件 -->....<!-- /if --> <!-- if(条件) -->....<!-- /if --> {if 条件}...{/if} {if(条件)}...{/if}
示例(参考tpl/www/index.html里面有大量的条件写法)
<!-- if $contactus.fullname --><li class="list-group-item"><i class="fa fa-user"></i> {$contactus.fullname}</li><!-- /if -->
<div class="media{if $tmpid.num != $tmpid.total} border-bottom{/if} mb-3">...</div>
数据循环
<!-- loop from=$list key=$key value=$value id=$tmpid --> ..... <!-- /loop -->
示例(参考tpl/www/index.html里面有大量的循环写法)
<!-- loop from=$products.rslist key=$key value=$value id=$tmpid --> <div class="col p-2"> <div class="card p-2"> <a href="{$value.url}" title="{$value.title}"><img class=" card-img-top" src="{$value.thumb.gd.thumb}" alt="{$value.title}" /></a> <div class="card-body p-2"> <a href="{$value.url}" title="{$value.title}"><h5 class="text-nowrap text-truncate">{$value.title}</h5></a> <!-- if $products.project.is_biz --> <p class="card-text text-danger">{func price_format $value.price $value.currency_id $config.currency_id}</p> <!-- /if --> </div> </div> </div> <!-- /loop -->