3

在 MediaWiki 中,我们希望在另一个页面上显示目录(来自多个页面)。我们知道这可以自动完成,例如,如果我们像这样包含第 1、2 和 3 页:

{{:Page 1}}
{{:Page 2}}
{{:Page 3}}

在第 X 页上,然后第 X 页显示第 1、2 和 3 页的组合 TOC。

但是我们想要一个在 X 页上的表格,它在一个单独的单元格中显示每个 TOC。有没有办法单独包含每个 TOC?

我尝试<noinclude></noinclude>在第 1、2 和 3 页上的文本周围使用标签,然后强制在外部(使用__TOC__)创建一个目录,但这只会在 X 页上创建一个 TOC(使用 X 页的内容)。

4

1 回答 1

2

你不能。对于当前页面中出现的所有部分,目录是在每个页面中动态生成的。

当您包含其他页面的部分(或至少部分标题)时,它们将显示在页面 X 的 TOC 中。如果您包含__TOC__魔术词,则意味着仅生成页面 X 的目录。

三种解决方案:

  1. 包括第 1、2 和 3 页的部分(标题)。即使包含在<div style="display:none;">一个非常丑陋的方式中,它们也会显示在第 X 页的目录中。
  2. 手动将 TOC 表复制到页面 X。您可以通过使用浏览器查看生成的页面 1、2 和 3 的 HTML 源来查看它们的 HTML。
  3. 编写一个允许从其他页面嵌入 TOC 的扩展。它可能会引入一个新的解析器函数{{toc:<pagename>}},并能够在另一个页面的上下文中调用 toc 生成函数。
  4. 仅包括部分标题作为列表。在第 1、2 和 3 页中,您需要写

    == <onlyinclude><includeonly>##</includeonly> Heading Number One </onlyinclude> ==
    === <onlyinclude><includeonly>###</includeonly> Part One of Heading Number One </onlyinclude> ===
    ...
    

    您可以将其包含在第 X 页的表格中

    {{:Page 1}}
    

    它应该显示为一个编号列表,如 TOC。

于 2012-05-14T11:08:06.593 回答