我正在使用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)来做到这一点?它甚至可能吗?
答案 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
我希望这能满足您的问题并对您有所帮助。