2

在 Moqui 最近更新之后,我在使用<render-mode>标签呈现 FTL 代码时遇到了问题。

让我试着解释一下这个问题,
之前我使用<render-mode>in<form-list>标签渲染了 FTL 代码,它工作正常,但是当我更新 Moqui 时,它会在浏览器上显示写在标签中的整个 FTL 代码。

同样在更新 Moqui 之后,当我在 . 之外使用相同的代码时<form-list>,它按预期工作。

这是期望的行为还是我们应该在框架级别进行一些更改。

下面是相同的示例代码。

               <form-list name="demoName" list="nameList" >
                    <field name="name">
                        <default-field title="Name">
                            <render-mode>
                                <text><![CDATA[
                                <#if name=='Demo Name 1'>
                                    <span class="label label-success">Demo Name 1</span>
                                <#elseif name=='Demo Name 2'>
                                    <span class="label label-info">Demo Name 2</span>
                                </#if>
                                ]]></text>
                            </render-mode>
                        </default-field>
                    </field>
                </form-list>

这就是代码在修订版 #891b4d5 上呈现在屏幕上的方式。 在 **form-list** 标签中渲染 FTL

这是我们在 Moqui 修订版 #983a9e1 中使用的输出 期望的输出

我们可以按照我们在上面的代码片段中使用它的方式使用它吗render-modeform-list

4

1 回答 1

0

为了正确使用 render-mode.text 元素,您应该指定 text.@type 属性。它默认为“all”,因此文本将用于所有类型,但您的内容包含 HTML,因此它应该具有 text.@type=html。

不过,您所包含的内容应该可以正常工作。这是来自最新版本 Moqui(在 git 存储库中)中的 apps.xml 屏幕的示例,它与每个应用程序屏幕渲染一起运行,并将内联文本解释为模板:

        <render-mode><text type="html"><![CDATA[
            <#assign footerItemList = sri.getThemeValues("STRT_FOOTER_ITEM")>
            <div id="apps-footer-content">
                <#list footerItemList! as footerItem>
                    ${footerItem}
                </#list>
            </div>
        ]]></text></render-mode>
于 2014-10-09T15:34:05.090 回答