微擎模版语法

微擎模版语法详解

变量输出

在 html 模板页面上直接输出变量的值.

语法

{$var} ⇔ <?php echo $var;?>

示例

<table class="tb">
	<tr>
		<td>{$row['title']}</td>
		<td>{$row['name']}</td>
	</tr></table>
<p>欢迎你:{$_W['member']['username']}</p>

语句嵌入

语法

{php statement;}

示例

{php $i = 1;}
{php echo date('Y-m-d H:i:s', $row['dateline']);}

条件语法

{if expression_statement_1}{elseif expression_statement_2}{elseif expression_statement_3}…{else}{/if}

示例

{if $row['flag'] == '-1' && $row['role'] != 'admin'}被禁用{/if}
{if $row['role'] == 'admin'}  
	管理员  
{else}  
	普通用户  
{/if}
{if $row['role'] == 'founder'}  
	创始人  
{else if $row['role'] == 'admin'}  
	管理员  
{else}  
	普通用户  
{/if}

循环语法

语法

{loop $list $row}{/loop}{loop $list $key $value}{/loop}

示例

{loop $wechats $wechat}  
	<li>Name: {$wechat['name']}</li>{/loop}
{loop $wechats $weid $wechat}
	<li>Id: {$weid}; Name: {$wechat['name']}</li>{/loop}

模板嵌套

可以在模板的当前位置嵌入另一个或多个模板一次或多次

语法

{template $name}

说明

主系统(app/web)的模板页面调用模板方式, 如: {template 'common/header'} , 斜杠前面为文件夹名称, 后面为模板名称
自定义模块(addons)中调用本模块模板的方式, 如: {template 'setting'} 来实现'./addons/模块/template/setting.html' 的调用

示例

{template 'common/header'} <!-- 嵌入标准页头。-->
 <p>可以嵌套多个模板</p>
 {template 'test'}  <!-- 模块模板嵌入模块内模板。-->
 {template 'common/footer'} <!-- 嵌入标准页脚。-->

数据获取标签

微擎系统内置了一种 数据获取标签 来直接呈现 自定义标签函数 返回的数据.

自定义标签函数

在模块中使用数据获取标签, 首先要在模块目录下创建 model.php 文件, 在该文件中定义标签函数, 标签函数的定义如下所示, 所有参数均从 $params 中获取.

model.php

function function_name($params = array()) {}

数据获取标签

{data module='' func='' assign='' item='' return='' limit='' index='iteration'}{/data}
参数名称说明
module指定获取数据的模块。可以在任意模板页面调用任意模块下定义的标签函数, 缺省则使用已存在的标签函数.
func指定获取数据的函数,此函数定义在自定义模块目录下的 model.php 文件中
assign指定该标签得到数据后,存入的变量名称。如果为空则存在与func同名的变量中,方便在下方的代码中使用。
item指定循环体内的迭代时的变量名。相当于 foreach ($foo as $i ⇒ $row) 中 $row变量。
return为true时,获取到数据后作为变量返回;为false时,获取到数据后直接循环输出,默认为false
limit指定获取变量时条数, 通常用于标签函数中拼接 sql 限制获取数据行数,$sql .= ” limit {$params['limit']}“
index提供循环中的索引值,从 1开始。默认变量名为 ‘iteration’,也可以自定义变量名。通过{$row['iteration']} 调用。

注意: 以上列表是 标签函数 预设处理的输入变量, 开发者可以在标签中任意传入所需参数, 在标签函数中访问**$params**即可

示例

{data func='site_navs' section='2' item='nav' a='1' b='2' c='3'}
	{$nav['html']} <br>{/data}

目前支持的获取数据 function:见【微站模版】


微擎相关资料:
未经允许不得转载:微擎二次开发视频 » 微擎模版语法

评论列表

还木有评论 ,赶紧来一个!嘻嘻,:)

发表评论

访客的头像

Top