3

在 MediaWiki 中,您可以在模板正文中包含一个标准模式来检测嵌入深度吗?

具体来说,让我们假设 Template:Myinfobox 包含这样一个模式,该模式显示“native myinfobox call”用于深度 1 嵌入,否则显示“transclusion call”。

然后,如果页面 Mypage 调用 {{Myinfobox}} 它应该显示“native myinfobox call”,而任何调用 {{Mypage}} 的页面应该显示“transclusion call”

有谁知道这样的模式不需要 Mypage 的作者插入特殊的标记<noinclude><includeonly>标签?

4

2 回答 2

1

不,没有这样的事情。但是,您可以学习一些关于扩展深度限制和分支的邪恶技巧和内部知识

于 2015-04-29T20:21:24.307 回答
1

感谢您的指点。我知道这些,但有它们在这里很好。现在我正在使用以下技巧(使用我的问题的术语):我home article在 Myinfobox 中有一个参数,模板的用户必须将其设置为托管 Myinfobox 直接调用的页面的名称。因此 Mypage 将包含以下内容:

{{ Myinfobox | … | home article = Mypage | … }}

Myinfobox 模板测试是否{{PAGENAME}}等于{{{ home article }}}以确定它输出的消息:如果 2 个值不同,则为“transclusion”,否则为“native”。

但这很笨拙,并且给模板用户带来了负担。

于 2015-05-01T07:18:46.723 回答