Jump to content

Manual:$wgEnableScaryTranscluding

From mediawiki.org
This page is a translated version of the page Manual:$wgEnableScaryTranscluding and the translation is 100% complete.
解析器: $wgEnableScaryTranscluding
允許從另一個wiki導入/引用模板。
引进版本:1.5.0 (r9860)
移除版本:仍在使用
允许的值:(布尔值)
默认值:false

细节

啟用跨維基引用(從另一個wiki引用頁面或模板)。 这个选项名字有点奇怪也是有原因的:它有点没效率,并且另一个wiki对模板的更改不会自动应用到本wiki

必須設置interwiki 表中的$wgEnableScaryTranscludingiw_trans才能啟用此功能。 或者,您可以使用Extension:跨wiki 來管理它。

如何使用跨維基引用

  • 啟用$wgEnableScaryTranscluding
    $wgEnableScaryTranscluding = true;
    
  • 確保相關的interwiki前綴在數據庫中的interwiki.iw_trans設置為1。

纯嵌入包含

你现在可以输入{{wiki:模板名称}}或{{wiki:主名字空间页面名称}}以从其他wiki嵌入包含页面。 但是,这会从其他的wiki嵌入包含页面内容到你的wiki,而不是模板的维基代码。 因此,对于前者,你会看到(如果有的)文档,但模板将无法正常工作,就像你在查看外语维基上的模板页面一样——因为你确实在查看它。 嵌入页上的维基链接会显示为蓝色链接,但会链接到外语维基上的位置。 由于缺少样式表或 JavaScript 模块(T318060#9451386),可能会出现其他问题。

原始嵌入包含

你也可以使用 {{raw:wiki:template name}} 来进行原始嵌入,这样外语页面上的所有模板都会像来自你自己的维基而不是另一个维基一样展开。 这将在你的维基上显示维基代码的结果。 模板的功能取决于本地是否存在所需页面:例如,如果模板显示了一个在本地维基上不存在的链接,该链接将是红色的;如果模板在其代码中包含了其他嵌套模板,将调用本地具有相同名称的模板,除非所需的模板以所需的形式存在,否则模板将损坏。 文件链接可能会正常工作,这取决于本地和外语维基是否都使用了即时共享(InstantCommons)。

替换引用

你可以用 {{subst:wiki:template name}} 或 {{subst:wiki:main namespace page name}} 来替换引用其他Wiki的模板。 结果将与使用原始嵌入(raw transclude)类似,但会将完全展开的代码保存到你的维基上。 对于模板来说,这将起到将代码复制到本地维基的作用。 (注意:{{subst:raw:foo}}{{subst:foo}} 似乎是等效的。)

嵌入包含非MediaWiki内容

这将在一定程度上适用于使用非MediaWiki软件的维基页面,但本地的MediaWiki软件会尝试解析外来维基上的非MediaWiki维基文本(如MoinMoin)和HTML,从而导致一些无意义的内容,以及一些由于HTML处理规则不同而未能按预期显示的内容。 非维基页面(HTML、代码等)的嵌入将显示纯文本、MediaWiki允许的任何HTML部分,以及任何有意或无意包含被MediaWiki解释为维基代码的内容,这将导致不同程度的无意义结果。 不在 MediaWiki 维基页面上的链接可能显示为蓝色链接,但会错误地指向不存在的本地页面,并且可能会出现其他样式或 JavaScript 错误,就像“纯”嵌入一样。

参阅