【模板方法】
template($var=[],$fileName='')
【模板后缀】
如果有 vue 后缀文件则优先使用 vue 后缀文件,如果不存在vue后缀文件则查找 html 后缀文件(以下使用$suffix表示)
【模板查找逻辑】
一、未指定模板名称(template($var) 或 template()),依次查找:
1、当前模板同方法目录下的方法同名文件
/view/template/{$tpName}/{$appName}/{$controllerName}/{$methodName}/{$methodName}.$suffix
2、当前模板同控制器下的同方法同名文件
/view/template/{$tpName}/{$appName}/{$controllerName}/{$methodName}.$suffix
3、应用下同方法目录下的方法同名文件
/app/{$appName}/view/{$controllerName}/{$methodName}/{$methodName}.$suffix
4、应用下同控制器下的同方法名文件
/app/{$appName}/view/{$controllerName}/{$methodName}.$suffix
二、有指定没有斜杆开头的文件名,则依次找当前方法对应模板目录下的相对路径文件:
1、当前模板同方法目录下的指定名称文件
/view/template/{$tpName}/{$appName}/{$controllerName}/{$methodName}/{$fileName}.$suffix
2、应用下同方法目录下的指定名称文件
/app/{$appName}/view/{$controllerName}/{$methodName}/{$fileName}.$suffix
如:template('aaa/bbb') 表示依次查找
view/template/{$appName}/{$controllerName}/{$methodName}/aaa/bbb.$suffix
/app/{$appName}/view/{$controllerName}/{$methodName}/aaa/bbb.$suffix
template('aaa') 表示依次查找:
view/template/{$appName}/{$controllerName}/{$methodName}/aaa.$suffix
/app/{$appName}/view/{$controllerName}/{$methodName}/aaa.$suffix
三、有指定有斜杆开头的文件名,则表示查找指定应用和控制器、方法的模板(可能跨应用)
如:template('/appcenter/admin/template')表示依次查找
view/template/{$appName}/appcenter/admin/template/template.$suffix
view/template/{$appName}/appcenter/admin/template.$suffix
/app/appcenter/view/admin/template/template.$suffix
/app/appcenter/view/admin/template.$suffix
【样式】
一、模板公共样式,模板公共头部引入,对当前模板下的所有模板文件有效
/view/template/{$tpName}/common/style.css
/view/template/{$tpName}/common/script.js
二、页面私有样式,当前页面调用的模板文件同级的 css 和 js 自动适用于当前页面
【模板设置】
1、相关应用的默认模板设置配置
/app/{$appName}/setting.json
2、当前选择模板设置配置,如果存在和应用名称相同的设置分组,则会覆盖相关应用下的默认配置
/view/template/{$tpName}/setting.json
【开发设置】
.env 文件声明 APP_DEBUG = true 情况下,如果均未找到合适的模板,则自动创建模板文件,后台创建 vue 文件,前台创建 html 文件
【公共模板】
暂不考虑公共模板,需要公共模板需要自行设计调用
【web端vue组件】
一、全局组件,当前站点所 vue 文件可用
/app/common/view/vueComponents/
二、应用组件,相关应用下的 vue 文件可用
/app/{$appName}/view/vueComponents/
三、模板组件,相关模板下的 vue 文件可用
/view/template/{$tpName}/vueComponents/
四、覆盖规则
1、如果出现相同命名的组件,则会根据如下权重进行覆盖:
模板组件 > 应用组件 > 全局组件
2、如果当前加载模板文件是应用内默认模板文件,则不会适用模板组件的覆盖