企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] ## 变量输出 ### 在 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:见【微站模版】