企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 模版标签 [TOC] ### jsconst 标签 将 PHP 常量创建 JavaScript 变量 ~~~ <jsconst/> ~~~ ### literal 不解析标签(原样输出标签) literal 标签区域内的数据将被当作文本处理,此时模板将忽略其内部的所有字符信息。 ~~~ <literal> <list from="$data"> 内容1234 </list> </literal> ~~~ ### foreach 标签 与 PHP 中的 foreach 使用方法一致 语法 ~~~ <foreach from='变量' key='键名' value='键值'> 内容 </foreach> ~~~ 基本使用 ~~~ <foreach from='$user' key='$key' value='$value'> {$value|strtoupper} </foreach> ~~~ 多重嵌套 ~~~ <foreach from='$user' key='$key' value='$value'> <foreach from='$value' key='$n'value='$m'> {$m} </foreach> </foreach> ~~~ ### list 标签 语法 ~~~ <list from='变量' name='值' row='显示行数' empty='为空时显示内容'> 内容 </list> ~~~ *基本使用* ~~~ <list from='$data' name='d' row='10' start="0" empty='没有数据 '> {$d.cname} </list> ~~~ *表示每次间隔 条数据输出* ~~~ <list from='$row' name='n' step='2'> {$n.title} </list> ~~~ *从第 条数据开始显示* ~~~ <list from='$row' name='n' start='2'> {$n.title} </list> ~~~ *与其他标签使用* ~~~ <list from='$data' name='n'> <if value='$took.list.n.first'> {$took.list.n.index}: 这是第一条记录 <br/> <elseif value='$took.list.n.last'/> {$took.list.n.index}: 最后一条记录 <br/> <else/> {$took.list.n.index}:{$n.title} <br/> </if> </list> 共有 :{$took.list.n.total} 条 ~~~ ~~~ $took.list.n.first 是否为第1条记录 $took.list.n.last 是否为最后一条记录 $took.list.n.total 总记录数 $took.list.n.index 当前循环是第几条 ~~~ *其中 n 为 标签的 name 属性值* ### if 标签 语法 ~~~ <if value='条件'> 内容 </if> ~~~ 为了兼容,也可用condition作为条件 ~~~ <if condition='条件'> 内容 </if> ~~~ 基本使用 ~~~ <if value="$webname eq 'baidu'"> 百度 </if> ~~~ 与 else 结合使用 ~~~ <if value='$webname eq "baidu''> 百度 <elseif value='$webname eq "google"'/> 谷歌 <else/> 其他网站 </if> ~~~ ### empty 标签 例 ~~~ <empty value='$config.dbname'> 不存在值时显示的内容 </empty> <empty value='$config.dbname'> 不存在值时显示的内容 <else/> 存在值时显示的内容 </empty> ~~~ ### notempty 标签 例 ~~~ <notempty value='$config.dbname'> 存在值时显示的内容 </notempty> <notempty value='$config.dbname'> 存在值时显示的内容 <else/> 值为空时显示的内容 </notempty> ~~~ ### php 标签 模版中直接使用 `<?php ...?>` ### js 标签 引入 JavaScript 文件,路径中可使用所有 URL 常量 ~~~ <js file='__CONTROLLER_VIEW__/Js/js.js'/> ~~~ ### css 标签 引入 CSS 文件 ,路径中可使用所有 URL 常量 ~~~ <css file='__CONTROLLER_VIEW__/Css/css.css'/> ~~~ ### include 标签 加载模板文件使用 ~~~ <include file='文件路径'/> ~~~ 示例 ~~~ <include file='__PUBLIC__/head.html'/> ~~~ 上面的标签会加载模板目录下 public 目录下的 head.html 文件 **路径说明** ~~~ 比如当前模块:Home,当前控制器:User,当前方法:add <include file='header'/> 说明:上面为普通路径,会解析成模板: Application/Home/View/User/header.html <include file='Public/header'/> 说明:上面为普通路径,会解析成模板: Application/Home/View/User/Public/header.html <include file='../Public/header'/> 说明:上面为普通路径,会解析成模板: Application/Home/View/Public/header.html <include file='#Public/header#'/> 说明:上面#与#之间的路径会解析成模板: Application/Home/View/Public/header.html <include file='#Common:Public/header#'/> 说明:上面#与#之间的路径会解析成模板: Application/Common/View/Public/header.html <include file='#Common:Public/nav#,#Public/header#'/> 说明:上面将同时加载两个模板文件(多个文件之间用逗号隔开): Application/Common/View/Public/nav.html 和 Application/Home/View/Public/header.html ~~~ ### switch标签 用法: ~~~ <switch name="变量" > <case value="值1" break="0或1">输出内容1</case> <case value="值2">输出内容2</case> <default />默认情况 </switch> ~~~ 使用方法如下: ~~~ <switch name="User.level"> <case value="1">value1</case> <case value="2">value2</case> <default />default </switch> ~~~ 其中name属性可以使用函数以及系统变量,例如: ~~~ <switch name="took.get.userId|abs"> <case value="1">admin</case> <default />default </switch> ~~~ 对于case的value属性可以支持多个条件的判断,使用”|”进行分割,例如: ~~~ <switch name="took.get.type"> <case value="gif|png|jpg">图像格式</case> <default />其他格式 </switch> ~~~ 表示如果$_GET["type"] 是gif、png或者jpg的话,就判断为图像格式。 case标签还有一个break属性,表示是否需要break,默认是会自动添加break,如果不要break,可以使用: ~~~ <switch name="took.get.userId|abs"> <case value="1" break="0">admin</case> <case value="2">admin</case> <default />default </switch> ~~~ 也可以对case的value属性使用变量,例如: ~~~ <switch name="User.userId"> <case value="$adminId">admin</case> <case value="$memberId">member</case> <default />default </switch> ~~~ ### assign标签 assign标签用于在模板文件中赋值变量,用法如下: ~~~ <assign name="var" value="123" /> ~~~ 在运行模板的时候,赋值了一个var的变量,值是123。 相当于,执行了: ~~~ $var = '123'; ~~~