1. 概述
因为在freemarker模板中,指令是最为特殊的数据模型存在的,因此在PublicCMS模板中的指令除import,include指令外,一律使用“_”当作前缀,以和模板中的数据进行区分。同时模板中的指令同时支持json/jsonp接口的方式被js或其他系统调用。
指令中默认了变量名称
模板中主要有三类指令:
- 根据主键获取单个或多个实体的指令
- 根据条件查询列表的指令
- 实现特殊功能的指令
2. 实体查询指令
查询单个实体
<#assign id=1/>
<@_指令名 id= id >${object.属性}@_指令名>
或查询多个实体
<#assign ids=’1,2,3’/>
<@_指令名 ids= ids>${map[‘1’].id}@_指令名>
指令列表
指令名 | 实体 |
content | 内容 |
category | 分类 |
categoryType | 分类类型 |
model | 内容模型 |
place | 推荐数据 |
tag | 标签 |
tagType | 标签类型 |
word | 搜索词 |
logTask | 任务计划日志 |
sysApp | 应用 |
sysDept | 部门 |
sysDomain | 域名 |
sysMoudle | 后台管理模块 |
sysRole | 角色 |
sysSite | 站点 |
sysTask | 任务计划 |
sysUser | 用户 |
pluginLottery | 抽奖 |
pluginVote | 投票 |
pluginVoteUser | 投票记录 |
pluginVoteItem | 投票选项 |
3.列表查询指令
该类指令都拥有pageIndex、count两个参数,分别表示当前页数、每页条数,查询结果统一为page。
查询列表数据
<@_指令名 pageIndex=1 count=10>
<#list page.list as a>
${a? counter}:${a.id}<#if a?has_next>,#if>
#list>
@_指令名>
page属性列表
属性名 | 类型 | 含义 |
totalCount | int | 数据总数 |
pageSize | int | 每页条数 |
pageIndex | int | 当前页码 |
list | List | 查询结果实体列表 |
totalPage | int | 总页数 |
firstResult | int | 第一条序号 |
firstPage | boolean | 是否第一页 |
lastPage | boolean | 是否最后一页 |
nextPage | int | 下一页页码 |
prePage | int | 上一页页码 |
指令列表
指令名 | 实体 |
categoryList | 分类 |
categoryModelList | 分类模型映射 |
categoryTypeList | 分类类型 |
contentFileList | 内容附件 |
contentList | 内容 |
contentRelatedList | 内容推荐 |
modelList | 模型 |
placeList | 推荐数据 |
tagList | 标签 |
tagTypeList | 标签类型 |
wordList | 搜索词 |
logLoginList | 登陆日志 |
logOperateList | 操作日志 |
logTaskList | 任务计划日志 |
logUploadList | 文件上传日志 |
pluginLotteryList | 抽奖 |
pluginLotteryUserList | 抽奖记录 |
pluginVoteItemList | 投票选项 |
pluginVoteList | 投票 |
pluginVoteUserList | 投票记录 |
sysAppClientList | 应用客户端 |
sysAppList | 应用 |
sysAppTokenList | 应用授权码 |
sysClusterList | 服务器节点 |
sysDeptCategoryList | 部门分类授权 |
sysDeptList | 部门 |
sysDeptPageList | 部门页面授权 |
sysDomainList | 域名 |
sysExtendFieldList | 扩展字段 |
sysModuleList | 后台管理模块 |
sysRoleList | 角色 |
sysRoleMoudleList | 角色模块授权 |
sysRoleUserList | 角色用户映射 |
sysSiteList | 站点 |
sysTaskList | 任务计划 |
sysUserList | 用户 |
sysUserTokenList | 用户登陆授权 |
4.任务计划专用指令
该类指令只能再任务计划脚本中使用
指令列表
指令名 | 接收参数 | 含义 |
clearLog | clearDate | 清理clearDate日期以前的日志 |
indexContent | id或ids | 根据内容ID重建索引 |
publishCategory | id或ids、pageIndex、totalPage | 生成分类静态化文件 |
publishContent | id或ids | 生成内容静态化文件 |
publishPage | path | 生成页面静态化文件 |
publishPlace | path | 生成页面片段静态化文件 |
5.功能指令
该类指令用于完成特定功能
指令列表
指令名 | 接收参数 | 含义 |
createCategoryFile | id,templatePath,filePath,pageIndex | 用templatePath为模板生成id这个分类的第pageIndex页静态文件,路径为filePath |
createContentFile | id,templatePath,filePath,pageIndex | 用templatePath为模板生成id这条内容的第pageIndex页静态文件,路径为filePath |
createTemplateFile | templatePath,filePath,pageIndex | 用templatePath为模板生成第pageIndex页静态文件,路径为filePath |
disk | 获取磁盘状态:rootPath为数据目录路径,freeSpace为剩余容量,totalSpace为总容量,usableSpace为可用容量 | |
includePlace | path或paths | 包含页面片段,根据站点设置输出页面片段内容或ssi包含指令 |
licenseVerify | licenseData、signaturer | 验证授权文件是否合法 |
masterSite | 判断当前站点是管理站点则输出指令中包含的内容 | |
memory | 获取内容状态:freeMemory为剩余内存,totalMemory为总内存,maxMemory为最大内存 | |
metadata | path或dir | 获取模板元数据或获取某目录下所有模板的元数据map |
placeMetadata | path或dir | 获取页面片段元数据或获取某目录下所有页面片段的元数据map |
sendEmail | email、title、templatePath或content | 发射标题为title内容为路径templatePath的模板渲染结果或者content的邮件到email |
SystemProperties | 获取系统参数 | |
taskTemplateContent | path | 获取任务计划脚本内容 |
taskTemplateList | path | 获取任务计划脚本列表 |
templateContent | path | 获取模板内容 |
templateList | path | 获取模板列表 |
templateResult | templateContent | 打印模板渲染结果 |
thumb | path,width,height | 对路径为path的图片文件进行缩略,高为height宽为width |
userAgent | 获取userAgent, | |
version | 获取程序版本 | |
webFileContent | path | 获取网站资源文件内容 |
webFileList | path | 获取网站资源文件列表 |
如若转载,请注明出处:https://www.javaidea.cn/article/7854.html