我正在尝试在自动完成的下拉列表中显示所有附件(来自当前页面)。这是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-content
和spacekey
类型工作得很好。它显示了一个自动填充页面和空格的文本字段。
但是,attachment
类型显示一个无法自动完成的空下拉列表(选择框)。
官方Confluence文档说它应该像我一样工作: https://developer.atlassian.com/display/CONFDEV/Including+Information+in+your+Macro+for+the+Macro+Browser
我必须在这里遗漏一些东西,但我不知道是什么。任何人都可能知道问题是什么?
答案 0 :(得分: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 :(得分: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>