2

Moqui の最近の更新後、<render-mode>タグを使用して FTL コードをレンダリングする際に問題に直面しています。

問題を説明してみましょう。先ほどinタグ
を使用して FTL コードをレンダリングしたところ、正常に動作していましたが、Moqui を更新すると、タグに記述された FTL コード全体がブラウザに表示されます。<render-mode><form-list>

また、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-modeしている方法で使用できますか?form-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 に答える