模板框架介绍


PHPOK程序(下文简称程序)中使用的模板语法参考了ET(Ease Template)和 Smarty 的思路,重新编写而成

对应程序文件是:framework/phpok_tpl.php 文件

模板标签的基本说明:

  1. 模板标签都是使用定界符包围,模板框架定界符不允许修改。

  2. 大括号{}是最基本的定界符

  3. 循环和条件允许使用<!---->作为定界符

  4. 数组允许用点来分割,如:{$config.title},对应的php代码即为 ,但系统不支持 {$config.$title},如果是变量,请写成 {$config[$title]}

  5. 模板中支持PHP语法,仅请注意,这里的语法功能很弱,如果稍微复杂一点,就容易造成变量出错,建议使用【引用 PHP 文件方法来解决模板中嵌入 php 写法】

    <!-- php:这里输入相应的PHP代码 -->
    <!-- php:$list = phpok('*****') -->
    
  6. 引用模板用

    <!-- include tpl=模板名 -->
    
  7. 引用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 -->

 

评论反馈