6

我有许多基于公式创建标题的模板。我想知道是否有任何方法可以创建一个“编辑”链接,将您直接带到该部分?它当前的工作方式,编辑链接将带您编辑模板本身。我可以创建一个自定义链接,让您留在页面上并带您进入正确的部分吗?

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

模板:头

==={{{1}}}===
This is a heading titled "{{{1}}}"

测试页

=Section 1=
{{head|1.1}}
{{head|1.2}}
{{head|1.3}}
=Section 2=
{{head|2.1}}
{{head|2.2}}
{{head|2.3}} 

目前,如果我想编辑模板“2.3”的信息,我必须编辑所有第 2 部分。(请注意,对于这个例子,这没什么大不了的。对于我正在使用的实际模板我的网站,模板有几十个参数,有时一个部分有 10 个或更多。)

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

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

4

2 回答 2

2

重申您的问题,当您嵌入部分标题时,标题不会被视为目标页面的一部分,因此编辑链接会将您带回源。所以你需要一个单独的模板容器来单独编辑它,一个完整的部分是最小的可编辑容器。

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

{{head}}然后可以通过使用 HTML 标题标签(<h2>等于==等)将自定义编辑链接包含到模板输入以抑制标准编辑链接,然后使用这些模板之一(可能是 {{ ed right }})创建自定义编辑指向MyPage/Subpage1.

顺便说一句,在 Mediawiki 中创建锚点的方法是使用<span id="name"/>标签,但这不会创建可以编辑的容器(或者至少,我无法通过 URL 修补来解决)。

于 2013-03-04T15:23:33.953 回答
1

我很确定没有办法做到这一点。就 MediaWiki 的部分编辑功能而言,唯一开始新部分的内容是以下形式的一行:

=== Some text here ===

标志的数量=决定了标题的级别。没有办法让 MediaWiki 让您编辑任何不以这样的行开头和结尾的文档片段(或页面的开头或结尾)。

好吧,好吧,我相信您在技术上可以通过扩展来做到这一点,从某种意义上说,您可以使用 MediaWiki 扩展来做任何事情。您需要做的就是为用户提供某种方式(例如,编辑 URL 中的特殊参数)以指示“我想编辑此模板”,然后从 wikitext 中提取模板,将其呈现给用户进行编辑, 并将结果写回到原始页面文本中。

棘手的部分是从页面源中提取模板。(在页面上查找和替换模板对于 MediaWiki 机器人编写者来说是一项相当常见的任务,因此您可能想在那里寻找想法。)无论您最终使用哪种方法,都可能存在需要放弃的边缘情况并告诉用户“对不起,我不知道该模板是如何嵌入到这里的。”

于 2013-03-02T17:58:39.830 回答