我使用xwiki创建一个wiki。我想动态显示页面列表(在livetable中或只是批量)。所以我使用标签系统。
目前我使用的是HTML宏+ iframe,但它显示了包含标题,侧边菜单,选项等的所有页面。
我已经尝试了this snippet,但没有显示任何内容,而且我不太了解所有代码,我不确定这是不是很好的解决方案。
我尝试使用Display和Include宏:
{{display reference="Main.Tags"/}}
它在云端显示我的所有标签。
但要拥有我想要的东西,我应该用
指定这段代码queryString="do=viewTag&tag=Test"
或类似的东西,但我不知道该怎么做。
因此,如果您想要显示具有相同标签的页面列表,我将很乐意阅读它:)
感谢。
EDIT1所以我继续努力,用下面的指示显示我想要的东西:
{{velocity}}
#set ($list = $xwiki.tag.getDocumentsWithTag('test'))
#foreach($doc in $list)
$doc
#end
{{/velocity}}
但问题是显示文档的所有路径。
Wiki Interne.2\. Liste des flux TEST.2_1_Flux_Externes_Entrants.AGDAT01.WebHome
Wiki Interne.2\. Liste des flux TEST.2_1_Flux_Externes_Entrants.AGOL20.WebHome
Wiki Interne.2\. Liste des flux TEST.2_1_Flux_Externes_Entrants.AGOL21.WebHome
Wiki Interne.2\. Liste des flux TEST.2_1_Flux_Externes_Entrants.AGOL22.WebHome
如何仅将显示限制为文档标题?
答案 0 :(得分:0)
您可以使用Livetable宏(http://extensions.xwiki.org/xwiki/bin/view/Extension/Livetable%20Macro)列出您想要的页面,并将其自定义为仅显示标记有特定标记的页面。
{{velocity}}
#set($collist = ['doc.title', 'doc.location', 'doc.date', 'doc.author'])
#set($colprops = {
'doc.title' : { 'size' : 30, 'link' : 'view', 'filterable': false, 'sortable': false },
'doc.location' : { 'html' : true },
'doc.date' : { 'type' : 'date' },
'doc.author' : { 'type' : 'text', 'link' : 'author' }
})
#set($options = {
'translationPrefix' : 'platform.index.',
'rowCount' : 15,
'tagCloud' : 'true',
'selectedTags' : ['test']
})
#if(!$isGuest)
#set($discard = $collist.add('_actions'))
#set($discard = $colprops.put('_actions', { 'actions' : ['copy', 'delete', 'rename', 'rights'] }))
#end
#livetable('taggedDocs' $collist $colprops $options)
{{/velocity}}
由于' tagCloud'需要启用选项以便选择标记'允许您列出默认情况下要显示的代码的选项(在我的示例中,我列出了使用代码标记的页面' test'),您还会看到用户可以使用的所有其他可用代码选择。如果这让您感到困扰,并且您不想让用户更改显示的标签,您可以简单地隐藏' tagCloud'通过进入页面上的对象编辑模式并添加类型为' StyleSheetExtension' (有关详细信息,请参阅http://www.xwiki.org/xwiki/bin/view/Documentation/DevGuide/Tutorials/SkinExtensionsTutorial/#HMinimalStyleSheeteXtension),其中包含以下CSS内容:
#alldocs-tagcloud {
display : none;
}
答案 1 :(得分:0)
感谢@Eduard Moraru :)我会尝试。
但是当我找到Velocity doc时,我已经解决了我的问题:http://velocity.apache.org/engine/1.7/user-guide.html
可能感兴趣的人的代码:
{{velocity}}
#set ($list = $xwiki.tag.getDocumentsWithTag('Your Tag'))
#foreach($reference in $list)
#set ($document = $xwiki.getDocument($reference))
#set ($label = $document.getTitle())
[[$label>>$reference]]
#end
{{/velocity}}
答案 2 :(得分:0)
尝试一下,这是无耻的切割fron内置标签应用程序。
{{velocity}}
#set ($tag='Tag')
#if ("$!{request.get('renamedTag')}" != '')
{{info}}$services.localization.render('xe.tag.rename.success', ["//${request.get('renamedTag')}//"]){{/info}}
#end
#set ($list = $xwiki.tag.getDocumentsWithTag($tag))
{{container layoutStyle="columns"}}
(((
(% class="xapp" %)
=== $services.localization.render('xe.tag.alldocs', ["//${tag}//"]) ===
#if ($list.size()> 0)
{{html}}#displayDocumentList($list false $blacklistedSpaces){{/html}}
#else
(% class='noitems' %)$services.localization.render('xe.tag.notags')
#end
)))
{{/container}}
#set ($displayDocExtra = false)
{{/velocity}}