我正在尝试在FTL中包含一个宏文件。
根据我对框架的理解,如果我们在xml中使用标记包含宏文件并在此xml中呈现FTL,则定义的宏应该在Freemarker模板中自动可用。但这不适合我。
另外,我尝试使用<#import>
和<#include>
标记在FTL中包含宏文件,同时提供绝对路径和相对路径。无论哪种方式都不起作用。
请建议最好的方法。
由于
答案 0 :(得分:0)
如果要在FTL文件中添加宏,只需在目标FTL文件中导入宏文件,然后在屏幕中呈现目标FTL文件。这是一个简单的例子
在webroot/screen/includes/MacroExample.ftl
<#macro macroExample>
This is a macro example
</#macro>
导入Header.html.ftl
<#import "MacroExample.ftl" as m> <#-- If the macro file in different directory you can use the relative path -->
<@m.macroExample/>
此Header.html.ftl
通过以下代码在webroot.xml
文件中呈现
<render-mode>
<text type="html" location="component://webroot/screen/includes/Header.html.ftl"/>
</render-mode>
现在macroExample
将在标题中显示。这是一个正常的例子。您可以按照此步骤操作。