附件的Confluence Macro Browser自动完成功能

问题描述 投票:1回答:2

我试图在自动完成的下拉列表中显示所有附件(从当前页面)。这是atlassian-plugin.xml中定义参数的部分:

<xhtml-macro name="plugin-name" class="com.example.macro.name" key="macroname-xhtml" icon="/download/resources/${project.groupId}.${project.artifactId}/icons/macroname.png">
    <category name="formatting"/>
    <parameters>
        <parameter name="content_input" type="confluence-content" />
        <parameter name="space_input" type="spacekey" />
        <parameter name="attachment_input" type="attachment" />
    </parameters>
</xhtml-macro>

confluence-contentspacekey类型工作得很好。它显示了一个自动填充页面和空格的文本字段。

但是,attachment类型显示一个无法自动完成的空下拉列表(选择框)。

官方的Confluence文档说它应该像我一样工作:https://developer.atlassian.com/display/CONFDEV/Including+Information+in+your+Macro+for+the+Macro+Browser

我必须在这里遗漏一些东西,但我不知道是什么。任何人都可能知道问题是什么?

plugins macros confluence
2个回答
3
投票

如果您需要包含所有附件的下拉列表,那么您还可以尝试以下操作:

<xhtml-macro name="plugin-name" class="com.example.macro.name" key="macroname-xhtml" icon="/download/resources/${project.groupId}.${project.artifactId}/icons/macroname.png">
    <category name="confluence-content" />
    <parameters>
        <parameter name="page" type="confluence-content" required="false"
            multiple="false" />
        <parameter name="name" type="attachment" required="false" />
    </parameters>
</xhtml-macro>
  • 请勿更改参数的名称

如果要添加过滤器,则需要以下内容:

<web-resource key="macro-browser-smart-fields" name="Macro Browser Smart Fields">
    <resource type="download" name="confluence-core-macro-fields.js" location="js/confluence-core-macro-fields.js" />
    <dependency>confluence.editor.actions:editor-macro-browser</dependency>
    <context>macro-browser</context>
</web-resource>

融合核心 - 宏观fields.js

(function($) {
    AJS.MacroBrowser.activateSmartFieldsAttachmentsOnPage("plugin-name", [ "png", "jpg", "gif" ]);
})(AJS.$);

1
投票

我发现将类型设置为attachment(以下官方文档)是错误的。我找到了一个在自动完成框中显示附件的解决方法。

<parameter name="xsd" type="confluence-content" required="true">
    <option key="type" value="attachment"/>
    <option key="showKeyInPlaceholder" value="false" />
    <option key="showValueInPlaceholder" value="true" />
</parameter>
© www.soinside.com 2019 - 2024. All rights reserved.