知道空间的父母

时间:2013-07-19 19:28:52

标签: wiki velocity xwiki

我正在为我的Xwiki(云托管)构建自定义面板。我需要在我的面板上做一个层次结构树,为此,我需要知道一个空格的父节点,所以我可以做一个#if子句......

#set ($spaces = $xwiki.spaces)
#set ($hiddenSpaces = ["XWiki", "Admin", "Panels", "Blog", "Main"])
#foreach ($space in $spaces)

这里..我怎么能实现像'$ space.parent'这样的东西,它适用于doc ????

就像我说我尝试过$ space.parent一样,但是这不起作用..它只是在我的屏幕上打印出来......

拜托,我坚持这个

编辑:我认为$ xwiki.spaces返回的对象是字符串...有没有办法从xwiki获取空间,比如$ xwiki.getSpace($ space).parent?

1 个答案:

答案 0 :(得分:2)

还没有空间的父这样的东西,因为XWiki只有数据库中表示的文档。但是,按照惯例,空间通常由其主页SpaceName.WebHome表示。因此,您应该检查此文档中的父级。

#set ($spaces = $xwiki.spaces)
#set ($hiddenSpaces = ["XWiki", "Admin", "Panels", "Blog", "Main"])
#foreach ($space in $spaces)
  #set ($spaceHome = $xwiki.getDocument("${space}.WebHome"))
  #set ($spaceParent = $spaceHome.parent)
  ... and the rest of the code ...
#end

但是这使用了略微弃用的方法。您应该使用实体引用而不是字符串:

  #set ($spaceHome = $xwiki.getDocument($services.model.createDocumentReference($doc.documentReference.wikiReference.name, $space, '', 'default')))