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