0

私は XWiki を実行し、ページを開発しています。Velocity スクリプトがあり、その中に {{html}} があり、html でブートストラップ パネルを使用しています。パネルにリンクのリストを表示したい。簡略化すると、次のようになります。

{{velocity}}
{{html}}
    <div class="panel panel-primary">
         <div class="panel-body">
             <p> ... Display links from macro... </p>
         </div>
    </div>
{{/html}}
{{/velocity}}

マクロは、必要なリンクを提供します。

#getChildrenOf("Classes.WebHome")

#macro(getChildrenOf, $docName)
    #foreach($name in $xwiki.searchDocuments('where doc.parent = ? or doc.parent = ? order by doc.name', [$docName, "xwiki:$docName"]))
         #if($xwiki.hasAccessLevel('view', "xwiki:$name"))
             [[$xwiki.getDocument($name).getPlainTitle()>>$name]]
         #else
             $xwiki.getDocument($name).getPlainTitle()
         #end
         #getChildrenOf($name)
    #end
#end

出力は次のとおりです。

[[COMPLETE>>Classes.COMPLETE]] [[DOMAIN>>Classes.DOMAIN]] [[LEVEL>>Classes.LEVEL]]

HTML テキストとしてレンダリングされます。これを HTML で速度としてレンダリングするにはどうすればよいですか? 速度の周りで HTML を閉じると、HTML タグが閉じないため、HTML パネルが壊れます。どうにかしてリストを変数で販売し、パネルに表示することはできますか?

ありがとう!

4

2 に答える 2

2

{{html}}-macro内で Wiki 構文を解釈したい場合は、次wiki="true"のようなパラメーターを使用する必要があります。

{{velocity}}
{{html wiki="true"}}
    <div class="panel panel-primary">
         <div class="panel-body">
             <p> Link to home page: [[WebHome]] </p>
         </div>
    </div>
{{/html}}
{{/velocity}}

このパラメータを省略した場合、デフォルトは次wiki="false"のようになります。つまり、ウィキ構文はマクロ内で解釈されません。

{{html}}-macroの参照については、そのパラメータを参照してください: http://extensions.xwiki.org/xwiki/bin/view/Extension/HTML+Macro

于 2015-11-27T12:07:49.673 に答える
0

[[s をタグに置き換えて速度関数を呼び出すだけで問題は解決しました。

<a href="$xwiki.getURL($name)">$xwiki.getDocument($name).getPlainTitle()</a><br> 
于 2015-11-27T09:43:16.953 に答える