2015-11-27 81 views
0

我正在運行XWiki並開發一個頁面。我有一個Velocity腳本,並在其中{{html}},並在html中使用引導面板。我想要一個鏈接列表出現在面板中。簡化的,它看起來像這樣:在XWiki中{{html}}渲染Velocity來生成頁面鏈接

{{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標籤不會關閉。我可以以某種方式將變量出售給變量並將其顯示在面板中嗎?

謝謝!

回答

2

如果你想擁有的Wiki語法解釋的{{html}} -macro裏面,你需要使用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}} 

如果省略此paramater則默認爲wiki="false" - 即維基 - 語法不在宏內部解釋。

僅供參考{{html}} -macro查看及其參數:http://extensions.xwiki.org/xwiki/bin/view/Extension/HTML+Macro

0

只需更換[[帶有標籤的s和調用速度函數解決了問題。

<a href="$xwiki.getURL($name)">$xwiki.getDocument($name).getPlainTitle()</a><br>