Macros 编辑合流页面标题以添加其ID?

Macros 编辑合流页面标题以添加其ID?,macros,confluence,Macros,Confluence,我正在尝试向confluence中的页面标题添加唯一ID 我设法添加了一个用户宏,该宏使用jQuery将页面ID添加到标题中&一个字符串前缀 ## @param _prefix:title=Prefix|type=string|required=true|desc=Prefix for the page ID <script type="text/javascript"> jQuery("document").ready(function() { if ("${param_pr

我正在尝试向confluence中的页面标题添加唯一ID

我设法添加了一个用户宏,该宏使用jQuery将页面ID添加到标题中&一个字符串前缀

## @param _prefix:title=Prefix|type=string|required=true|desc=Prefix for the page ID

<script type="text/javascript">
jQuery("document").ready(function() {
  if ("${param_prefix}" != "${_prefix}")
    jQuery('#title-text a').prepend('${param_prefix}', '$content.getIdAsString()', ' ');
});
</script>
##@param_prefix:title=prefix | type=string | required=true | desc=页面ID的前缀
jQuery(“文档”).ready(函数(){
如果(“${param_prefix}”!=“${u prefix}”)
jQuery('#title text a').prepend('${param_prefix}','$content.getIDassString()','');
});
但我希望它能够真正编辑标题,而不仅仅是在运行时添加。它需要自始至终保持一致,允许该ID成为搜索词并出现在所有菜单中等

我找不到任何证据表明这是可能的,但肯定是的

$content.setTitle(“newtitle”)应该可以工作。但是您必须确保此操作只发生一次,否则每次呈现此宏时,您的标题都会重复地在文本前加上前缀。我想你可以检查一下标题是否已经以你的前缀开头了。然后,您可能需要添加更改前缀的处理

有关更多详细信息,请参阅


话虽如此,这似乎是解决任何问题的一种相当笨拙的方法。我建议重新考虑这是否真的是您想要做的。

您可以使用实际的汇合页面ID或页面微小链接,而不是生成自己的ID。这两个都是静态的

在任何汇流页面上,键入“k”以查看超链接。您可能会惊讶地看到它还包含一个小链接。Atlassian确认即使您移动并重命名页面(),微小链接仍保持不变。这是使用固定URL引用同一页面的一致方式。另一种方法是使用内置PageID的汇流

汇流知识库:如何获取汇流页面ID

  • 确保当前用户有权查看和编辑 页面导航到特定页面
  • 单击“编辑”按钮或按“e”键进入编辑模式
一旦进入编辑模式,地址栏中的URL将发生更改 页面ID将显示为URL中的参数,例如:进入编辑模式时,URL将更改为 在上面的示例中,1540132是页面ID

要使用宏获取页面ID,请执行以下操作: ContentEntityObject ContentEntityObject=conversionContext.getEntity(); System.out.println(“pageId:+contentEntityObject.getId())

更改标题:content.setTitle(“newtitle”)。
记住,在设置title=title+page id之前,请检查title是否包含页面id。

谢谢。是的,这不是一个很好的方式,但问题是我们将有数百/数千页,可能有类似的标题,所以每个页面上都需要一个唯一的ID来链接汇流和其他地方的所有内容。因此,将页面ID添加到标题中是我的理想选择-我开始怀疑这是否可以在布局/样式设置中实现,但我对这些还不太了解。我不考虑使用页面ID的部分,这似乎是制作独特页面标题的可行方法。我想更多的是通过宏来实现这一点。这意味着手动将此宏添加到每个页面。实际上,最简单的方法可能是关闭confluence并创建一个MySQL脚本来运行您的所有页面。顺便问一下,您不能只使用id链接吗?为什么你需要把它添加到标题中?将它添加到标题中是一件视觉上的事情。ID还将被添加到每个页面所代表的产品屏幕上&希望能够让测试人员更容易找到他们需要的合流内容。我还没有考虑过DB方法——我们必须对此进行研究。谢谢