Help:模板
维库,知识与思想的自由文库
|
模板在维基系统(MediaWiki)中是一个可以加入另一个页面的页面。这一加入过程叫做嵌入,就好像计算机语言中的子程序。 本文提供维库中模板的使用手册和指南,另外,
[编辑] 概述模板名字空间是以“Template:”开头的名字空间,这个前缀是跨语言的。 在此名字空间的页面叫做模板,此页面的内容是用来通过嵌入技术加入到其他页面中,从而创建复杂的文档。 将名为“Template:模板名”的模板加入页面中的语法是 如果“Template:模板名”不存在, 如果一个页面不是以“Template:”开头,则不属于模板,但也可以使用模板标签,例如
而模板名字空间以外的页面一般在如下情况下作为模板使用:
一个模板可以调用另一个模板,它也可以调用它自己(自我调用),但只有一层自我调用有效。例如:[[Template:模板1]]的内容编辑内容是 模板中变量在模板被加入某页面后才被赋值,而不是之前。因此,如果一个模板中含有 一个页面所调用的所有模板都在该页编辑页面中列出,并提供相应的链接,而且:
请注意,如果页面结尾没有换行,编辑页面中总是在结尾添加一个换行,但这并不影响模板的某些效果,即这个换行不真正起作用。例如:
{{编号演示}}{{编号演示}}
{{编号演示}}
的结果是:
[编辑] 参数模板可以使用参数,通过参数命名或者编号可以区分各个参数。 [编辑] 参数的定义和调用在模板页面中,用三个大括号可以调用参数,例如:
注意:参数默认值同参数赋空值是不同的。 [编辑] 例1:含有命名参数的模板我们可以创建一个名为姓名的模板,即[[Template:姓名]],内容为:
我是{{{姓}}}{{{名}}}。
如果用
如果用
[编辑] 例2:含有编号参数的模板再来一个例子,说明一个编号参数的定义和调用:我们还是先要定义一个带参数的模板,例如模板[[Template:数数]]的内容是
一二三{{{1|四五六}}}七八九
赋值调用
赋空值调用
未赋值调用,即调用默认值,
[编辑] 参数值的限制
[[一二{{{1}}}六七]]
[编辑] 命名?还是编号?[编辑] 编号参数的优点
[编辑] 命名参数的优点
[编辑] 命名参数和编号参数混合使用命名参数和编号参数可以混合使用,此时的未命名参数根据位置被编号,命名参数不被编号。 例3:模板[[Template:又数数]]的内容是
{{{1}}}、{{{2}}}、{{{3}}}
想想为什么... [编辑] 未赋值并且没有默认值的参数例如:模板[[Template:再数数]]的内容是
一-{{{1}}}-三-{{{2}}}-五
调用
调用
调用
调用
调用
调用
[编辑] 参数赋值中包含参数如果一个参数未赋值,则在三个大括号中的参数名在模板调用是不起参数的作用。如果要它其作用,一定要赋值。 例4:
{{再数数|二}}
{{再数数|二|{{{1}}}}}
{{再数数|二|2={{{1}}}}}
最简单的参数迭代办法就是在模板中用同样的参数名。 例5:模板[[Template:姓名国籍]]中使用
{{姓名|姓={{{姓}}}|名={{{名}}}}}{{{国籍}}}人。
[编辑] 进一步的讨论像
如果我们希望参数1不赋值,则应该将参数2用命名参数形式赋值,如
{{再数数|2=四}}
结果则是
如果这样的参数值被赋给如 参数“02”和参数“2”是不同的,例如模板[[Template:例5]]的内容是
{{{1}}}{{{2}}}{{{02}}}
调用
注意:维基系统名字空间的参数名是不同的,它们是 [编辑] 模板页维基系统在生成模板页面时,实际上相当于一次没有参数赋值的模板调用,因此如果参数有默认值,将被显示。例如:模板[[Template:数一数]]的内容是
一二三{{{1|四五六}}}七八九
模板页面的内容是
[编辑] 讨论页模板页面同其他条目页面是不同的,它的目的不是将知识传递给读者,而仅仅是为系统定义模板。因此,其讨论页跟普通条目页面的讨论页也不同,主要有两个功能:
[编辑] 跨语言链接模板可以含有跨语言链接,但结果是所有调用模板的条目页面都含有了该跨语言链接,这通常是非常糟糕的事情。为了仅仅让模板本身拥有跨语言链接,而不包括使用模板的条目,我们必须使用<noinclude>标识。例如: <noinclude> [[en:Template:Europe]] [[zh:Template:欧洲]] </noinclude> 注意:在模板中使用 [编辑] 例6:使用<noinclude>标识的后果如果在例1中的模板[[Template:姓名]]加入跨语言链接
我是{{{姓}}}{{{名}}}。
<noinclude>
[[en:Template:Name]]
</nocinlude>
用
如果希望得到的结果是:
在[[Template:姓名]]加入跨语言链接应该不含有换行:
我是{{{姓}}}{{{名}}}。<noinclude>[[en:Template:Name]]</nocinlude>
注意:我们推荐您使用后面一种方式使用<noinclude>标识。 [编辑] 模板分类模板也要进行分类,目的是为了更好的整理模板,以便更好的使用和管理模板。模板的分类同条目的分类相似,可以参阅有关条目分类的帮助文件,如Help:分类等,不同之处在于对于模板的分类需要使用 所有模板的根目录(即分类)是Category:维基百科模板,所有模板分类名最后一定要含有“模板”二字,以区别于普通条目的分类。 [编辑] 例7:模板分类方法将例1中的模板[[Template:姓名]]分为Category:人物模板,需要加入:
我是{{{姓}}}{{{名}}}。<noinclude>[[Category:人物模板]]</nocinlude>
[编辑] 标识注意:以下内容只限于模板中使用的情况,在其他名字空间使用的情况请参考相关帮助文挡。 [编辑] <noinclude>前面已经提到, 例8:针对Template:网球男单世界第一模板的分类Category:体育模板就可以置于 [[Category:网球运动员]]<noinclude>[[Category:体育模板]]</noinclude> [编辑] <includeonly>
上面的例8中针对调用该模板的条目的分类Category:网球运动员实际上应该置于 <includeonly>[[Category:网球运动员]]</includeonly> 这样,在Category:网球运动员分类中就不会出现Template:网球男单世界第一模板了。 [编辑] substsubst的用法是: [编辑] 作用如果想将同一段文本复制到两个或者多个页面,我们可以考虑使用模板,但也并不是一定要用模板。如果使用模板,要修改这段文本时,不需要针对每一个页面进行逐个修改,而只需要修改模板的内容,所有使用该模板的页面都自动被修改。由于有参数存在,所以模板文本并不需要完全一样,对于不同页面,我们可以赋不同值,从而生成不同的文本。模板不仅仅是使用方便,它有时候还可以起到控制页面统一格式的作用。 模板的一般用法有:
[编辑] 参见[编辑] 中文 |


