在模板内创建的标题

时间:2013-03-01 19:17:49

标签: mediawiki mediawiki-templates

我有很多模板可以根据公式创建标题。我想知道是否有创建“编辑”链接,将直接带您到该部分?它目前的工作方式,编辑链接可以让您编辑模板本身。我是否可以创建一个自定义链接,让您保持在页面上并带您到正确的部分?

以下是一些示例代码,可帮助您解决问题......

模板:头

==={=Section 1=
{{head|1.1}}
{{head|1.2}}
{{head|1.3}}
=Section 2=
{{head|2.1}}
{{head|2.2}}
{{head|2.3}} 
}===
This is a heading titled "{{{head}}}"

测试页面

{{1}}

目前,如果我想编辑模板“2.3”的信息,我必须编辑第2节的所有内容。(注意,对于这个例子,这不是什么大问题。对于实际的模板,我是在我的网站上工作时,模板有许多参数,有时在一个部分中有10个或更多。)

最重要的是,有没有办法在{{1}}模板内创建一个自定义编辑链接,可以直接在“测试页面”页面上编辑模板调用?希望有道理。

编辑:有没有办法利用“锚”标签?锚点可以传入URL吗?

2 个答案:

答案 0 :(得分:2)

要重述您的问题,当您转换标题时,标题不会被视为目标网页的一部分,因此编辑链接会将您带回源。因此,您需要一个单独的模板容器才能单独编辑,完整的部分是最小的可编辑容器。

我能想到这样做的唯一方法是使用子页面(如果你没有在这个命名空间中启用它,则使用虚拟子页面,不会改变任何东西)。因此,不要将{{head|1.1}}放在MyPage上,而是将其放在MyPage/Subpage1上,然后以通常的方式(MyPage)将其转换为{{:MyPage/Subpage1}}

然后,

{{head}}可以使用HTML标题标记(<h2>等于==等)来包含模板输入的自定义修改链接,以禁止标准编辑链接,然后使用these templates之一(可能是{{{{}}}}})来创建指向MyPage/Subpage1的自定义修改链接。

顺便说一下,在Mediawiki中创建锚点的方法是使用<span id="name"/>标记,但这不会创建一个可以编辑的容器(或者至少不是我能够编辑的容器)通过URL修补工作)。

答案 1 :(得分:1)

我很确定没有办法做到这一点。就MediaWiki的部分编辑功能而言,开始新部分的事物是表格的一行:

=== Some text here ===

确定标题级别的=个数字。没有办法让MediaWiki允许您编辑文档中任何不以这样的行(或页面的开头或结尾)开头和结尾的片段。

嗯,好的,我确信你在技术上可以使用扩展程序来执行此操作,因为您可以使用MediaWiki扩展程序执行任何。您需要做的就是提供一些方法(例如编辑URL中的特殊参数),以便用户指示“我想编辑此模板”,然后从wikitext中提取模板,将其呈现给用户进行编辑,并将结果写回原始页面文本。

棘手的部分是从页面源中提取模板。 (在页面上查找和替换模板对于MediaWiki机器人编写者来说是一项相当普遍的任务,因此您可能希望在那里寻找创意。)无论您最终使用哪种方法,都可能存在需要放弃的边缘情况告诉用户“对不起,但我无法弄清楚这个模板是如何被转换的。”