【问题标题】:Mediawiki 1.16: labeled section transclusionMediawiki 1.16:标记部分嵌入
【发布时间】:2011-05-03 14:21:47
【问题描述】:

我们安装了Labeled section transclusion extension,它基本上允许您从另一个页面嵌入特定部分或明确标记要嵌入的页面部分。

我一直在使用#lsth 来转换标题,但注意到它不包含部分标题本身,这意味着该部分的“编辑”链接不存在。

现在我总是可以明确地为该部分编写一个编辑链接,但如果我硬编码部分编号并向源页面添加更多部分,编辑链接将指向错误的部分。

有没有办法让编辑链接到嵌入部分?

这里是一个例子:我有一个新闻页面,它将列出发生在 wiki 上的各种一般事件。它由“项目新闻”和“行政新闻”等类别组成。

它们将在许多地方使用,因此最容易将它们嵌入。我不想为每种类型的新闻创建单独的页面,所以我决定使用部分嵌入。但是,如果用户想要更新新闻,则没有方便的方法来单击直接进入该部分的 EDIT 链接。

【问题讨论】:

    标签: mediawiki


    【解决方案1】:

    我尝试了以下方法:

    测试是

    ==hi!==
    

    原来是

    ==1==
    {{test}}
    ==2==
    

    它呈现为:

    ==1==
    ==hi!==
    ==2==
    

    所以,这一定是扩展的问题,而不是嵌入机制的问题。对你有意义吗?

    【讨论】:

    • 在您使用 ==hi!== 的示例中,我使用的是 {{#lsth:articleName|hi!}},它将包含部分的内容,但不包含部分标题。我将多个部分嵌入到不同的页面,所以我使用了#lsth
    • 你能给出一个你正在做什么的确切例子吗?我不认为我完全理解你的问题。
    【解决方案2】:

    不包含标题,通过将 LST 标记从标题之前放置到部分末尾来包含整个部分,包括标题。

    【讨论】:

      【解决方案3】:

      当你在 LST 中使用一个部分作为一个嵌入容器时,它会有意地删除标题;我怀疑这是为了让您可以轻松地在页面上用纯粹的组织标题(如编号部分)标记一堆可转换的文本,而不必担心它们会出现。因此,在您的情况下,您必须使用稍微复杂一点的 {{#lst}} 函数,而不是使用 {{#lsth} 函数。将整个部分包含在<section begin/><section end/> 标记中,包括标题,然后它将正确嵌入。例如:

      <section begin="mySection" />
      == My Section ==
      My long block of text.
      <section end="mySection" />
      

      然后只需在您希望它出现的页面上放置一个{{#lst:myPage|mySection}} 函数,标题(和编辑块)就会随之而来。

      或者,使用嵌入级别的标题。如果你有这个页面:

      == My Transclusion ==
      === My Section ===
      My block of text
      
      == My Second Transclusion ==
      

      并且您使用{{#lsth:myPage|My Transclusion}} 函数,它将包含所有内容,直到同一级别的下一个标题(在本例中为我的第二个嵌入),包括“我的部分”标题。如果您希望 My Section 成为普通 (&lt;h2&gt;) 标头,请执行以下操作:

      = My Transclusion =
      == My Section ==
      My block of text
      
      = My Second Transclusion =
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-04-19
        • 1970-01-01
        • 2014-01-22
        • 1970-01-01
        • 2021-08-26
        • 2011-12-06
        • 1970-01-01
        相关资源
        最近更新 更多