无法在FTL中包含宏文件

时间:2014-09-30 05:02:26

标签: moqui

我正在尝试在FTL中包含一个宏文件。

根据我对框架的理解,如果我们在xml中使用标记包含宏文件并在此xml中呈现FTL,则定义的宏应该在Freemarker模板中自动可用。但这不适合我。

另外,我尝试使用<#import><#include>标记在FTL中包含宏文件,同时提供绝对路径和相对路径。无论哪种方式都不起作用。

请建议最好的方法。

由于

1 个答案:

答案 0 :(得分:0)

如果要在FTL文件中添加宏,只需在目标FTL文件中导入宏文件,然后在屏幕中呈现目标FTL文件。这是一个简单的例子

webroot/screen/includes/MacroExample.ftl

中创建一个宏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将在标题中显示。这是一个正常的例子。您可以按照此步骤操作。