Page History
Table of Contents |
---|
加载脚本
系统可以从三个地方加载 FreeMarker 脚本,加载顺序如下:
- Web 应用程序的文件系统。您可以将脚本文件放在
/<CATALINA_HOME>/webapps/<contextPath>/templates
文件夹。 templates
工作区。模板需先被使能才可以使用。- Web 应用程序的类路径(classpath),这也是默认存放 STK 模板的地方。一个最佳实践是,在模块 JAR 里打包脚本(为方便系统找到,模块 JAR 在类路径里)。
模板加载器
FreeMarker 模板加载器在配置应用的 /server/rendering/freemarker/jcr
和 /webapp
里配置:
LazyWebappTemplateLoader
默认从 webapp 文件夹里加载模板。如果没找到匹配的模板,则将会从类路径中加载。JcrRepoTemplateLoader
允许从内容库中加载模板。这个加载器在 原位模板工具 模块里。LazyFileTemplateLoader
允许从文件系统的任意位置加载模板。
需要的话您也可以编写您自己定制的模板加载器。
Advanced Tables - Table Plus | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||
|
Tip |
---|
JSP 脚本由于在被绘制前需要服务器预编译,所以只能存在于文件系统中。JSP 脚本在模块安装或更新时被解压到文件系统。 |
编辑脚本
Panel | ||||||
---|---|---|---|---|---|---|
| ||||||
|
当您在开发时,在内容库里编辑脚本有时很有用,但这种方法只对 FreeMarker 脚本有效。如果您将脚本导入到 templates
工作区,它们就会在 STK > 模板 里可供使用。所有的 STK 脚本都遵循这个模式。您可以从以上的加载顺序看出,templates
工作区里的脚本会覆写从类路径里加载的脚本。所以脚本一旦被添加或修改,就需要选中使能模板复选框来强迫 Magnolia CMS 从内容库中加载模板。
Warning |
---|
在内容库里编辑模板脚本对评估、制造原型或较小的项目比较理想。然而,这不利于长期维护,所以不要在生产环境中这样做。我们强烈建议您在一个版本控制系统中储存脚本,并将它们打包进一个项目模块。 |
更多信息请参考 模板样例 > 编辑模板脚本。