Mediawiki多级跨越

时间:2012-04-06 00:11:51

标签: templates mediawiki mediawiki-templates

我正在使用Mediawiki尝试格式化一些文章,以便它们在逻辑上一起流动。以下是我得到的内容:

模板A是基本模板

页面B是使用模板A的页面

页面C是一个页面,用于转换页面B的一部分

我有,在模板A:

<onlyinclude>

  <includeonly>'''Role'''</includeonly>
  {{{role}}}
</onlyinclude>

在第B页:

{{PageB|role=Admin}}  //Page B combined to avoid whitespace questions

第C页:

{{:PageB}}  //Again name combined in order to avoid whitespace questions 

结果:

我在页面C上获得了预期的结果,这是页面B的“角色”部分。

我得到的那部分我不想要的是,Page B现在只有模板A的“角色”部分。

所需:

我想要发生的是,页面B显示模板A的所有内容,而页面C只显示我感兴趣的页面B部分。除了放置页面B的每个实例(模板A)是作为...模板......对于页面B)的所有变体,我希望在页面B被转换时包括,我该如何使用模板(模板A)来做到这一点?它甚至可能吗?

1 个答案:

答案 0 :(得分:0)

我不确定我完全理解你的问题,但是,让我们看看我们是否可以澄清。您的Template:Role内容为:

<onlyinclude><includeonly>'''Role'''</includeonly>{{{role}}}</onlyinclude>

应返回:

角色 {{{role}}}

您还有Page_B,内容为:

B Some text<br />
{{Role|role=Admin}}<br />
B Some more text<br />
B And more text

哪个应该看起来像:

B有些文字
角色管理员 B更多文字
B还有更多文字

然后,您的Page_C内容为:

{{:Page_B}}<br />
C Some text<br />
C Some more text

这会像:

B有些文字
角色管理员 B更多文字
B和更多文字
C一些文字
C更多文字

但是!你希望它像:

角色管理员
B更多文字
C一些文字
C更多文字

如果这是正确的,您对<noinclude><onlyinclude><includeonly>的理解会略有偏差。 <noinclude>用于将内容仅保留在写入的页面上,不会被转换。<onlyinclude>主要用于控制通过模板传递的内容。有助于定义对于编辑将要被抄袭的内容。它有助于设置空白区域和不需要的换行边界。集合<includeonly>标记之间的内容可防止在其编写的页面上看到该内容,并且只能在已转换的页面上看到。

所以,Template:Role必须看起来像这样:

<onlyinclude>'''Role'''{{{role}}}</onlyinclude>

而且,Page_B必须看起来像这样:

B Some text<br />
<onlyinclude>{{Role|role=Admin}}<br />
B Some more text<br /></onlyinclude>
B And more text

我希望这能满足您的问题并对您有所帮助。