我是XWiki的新手,不是Java开发人员。我想开发一个简单的AppWithinMinutes应用程序(让我们称之为ServerCatalog),用于服务器列表及其属性,如操作系统、环境等。这都是可行的。我可以从AppWithinMinites UI中开发。
我还开发了一个宏,它列出了所有页面的标签。
例如,当某人在我的ServerCatalog中创建一个条目时,可以说SERVERD56,其中D代表开发环境。
当我们显示该条目时,我还希望执行我开发的宏,以便它可以列出与标签SERVERX56匹配的所有页面。
请注意,我将D替换为X,因此在执行宏之前,我希望操作该页面标题,并使用X删除Environment前缀(在本例中,D表示开发环境)。
我希望它清楚我想完成的事情。如果它不清楚请告诉我。
如果有人能帮助我做这件事,我将非常感激。
编辑内容:
按照爱德华·莫拉鲁(Eduard Moraru)的建议,我尝试了以下方法:
我已经创建了一个名为“PageListByTag”的自定义宏。
.
.
.
.
{{/html}}
{{/velocity}}
{{python}}
title = document.getTitle()
newTitle = title[:6] + "X" + title[6+1:]
print(newTitle)
{{/python}}
它有几个问题。
1.我的html标记已经结束了。我不能再在其中插入任何新内容
1.我无法在velocity标签内添加python代码,因为XWiki不允许嵌套脚本
1.如果我想使用python,我仍然不知道如何在python代码中调用宏
如果我可以用速度替换字符串中的第6个字符,那么一切都可以正常工作。我可以在速度脚本中使用宏,因为它在html的边界内。
1条答案
按热度按时间kse8i1jr1#
据我所知,您希望自定义显示应用程序条目时使用的应用程序“工作表”。
如果您查看文档中有关自定义的部分,您将获得许多有关您应查看的内容的起点:
https://extensions.xwiki.org/xwiki/bin/view/Extension/App%20Within%20Minutes%20Application#HCustomization
这一行很有意思(还有上面关于XWiki应用程序工作原理的链接):
工作表,用于显示和编辑应用程序条目(例如HolidaySheet)
在您的情况下,要自定义的文档(在
wiki
语法模式下编辑)应为ServerCatalog.Code.ServerCatalogSheet
在该文档中,有AWM自动生成的代码,您可以在其中添加对宏的调用。
然后,在此宏(在此示例中称为
displayAssociatedPages
)中,您可以执行类似以下的操作:API文档和更多信息,请访问https://www.xwiki.org/xwiki/bin/view/Documentation/DevGuide/API/
此外,您应该了解自订AWM应用程序后,使用AWM本身编辑时应该小心。例如,如果新增字段AFAIK,则可能会覆写对工作表所做的自订(如上例所示),因此您应该从文件历程记录中复原这些自订并重新套用。