查看“首页”的源代码
←
首页
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
== 什么是模板,为什么要用模板 == 您在条目的上方看到各种各样的条条框框,比如“本条目需要清理”、“本条目应避免有陈列杂项、琐碎资料的部分。”等。有时候条目右侧也能看到一个灰色的框,里面写着有关这个条目的基本信息,比如一位艺人的“生日”、“出生地”、“国籍”等。条目最下方有时候也会见到一个大方框,里面陈列着和这个条目相关的内容(称为“[[WP:导航模板|导航模板]]”,[[模板:Wikipedia essays|比如这个]])。这些都是“模板”。模板的形式还有很多很多,有的是直接镶嵌在条目正文里面的,有的虽然看不到但是却依然影响到条目显示的内容(比如[[T:NoteTA|字词转换模板]])。但是如果你翻翻这些条目的源代码,就会发现这些模板都长成类似“{{Code|<nowiki>{{模板名字|模板参数}}</nowiki>}}”这样子,用一对双大括号将模板的内容扩起来。 为什么有这些麻烦的东西?有时候,一段内容会在多个条目中反复出现,这时候如果一遍一遍复制那些内容,一遍遍粘贴到各个条目里面,简直会累死人,而且大段大段的看起来也很烦人;而且,万一日后内容有变动,又要进到各个条目里面把这些内容一个个全改一遍,这会产生大量的重复劳动。模板就是为了这样的目的:只需要给重复的部分放到一个模板里、起个名字,以后需要用到这些内容的时候直接调用模板就行了。需要更改内容的时候,也只需要在模板里改动,那些调用了模板的条目也会随着模板自动变更,十分方便。 所有的模板都会放在一个叫“Template”的[[WP:NS|名字空间]],即“[[WP:模板名字空间|模板名字空间]]”,标题名稱是“<code>Template:模板名字</code>”、“<code>模板:模板名字</code>”这样。在写作条目时,只需要在合适的位置放上“{{Code|<nowiki>{{模板名字}}</nowiki>}}”,模板就会在合适的地方显示出来了。有时候对于同一个模板,雖然显示的内容稍有差异,但大体的框架是一致的,这个时候就会用到“模板参数”,即“{{Code|<nowiki>{{模板名字|模板参数}}</nowiki>}}”的形式,具体的用法请见下文。 需要注意的一点是,维基百科的系统——MediaWiki本身并不会自动为条目挂上模板。因此,当看到条目里面显示了“本条目需要补充更多来源”等文字时,是其他维基人人工将模板挂上去。在模板所述问题修正之后,可以自行将模板从源代码中删除,这段提示文字將自动消失。 == 调用模板 == 调用模板就是把模板内容嵌入到调用方页面。 在Template[[WP:命名空间|命名空间]]里的页面才是模板,所以模板都由'''Template:'''开头,在中文维基,以'''模板:'''开头同样有效。调用时必须使用'''模板标签''',即<nowiki>{{Template:模板名}}</nowiki>的形式,“Template:”可以在无歧义的情况下省略。如[[Template:tc]]是一个模板,内容为“in”。如果把<code>{{tl|tc}}</code>加入某个页面,则{{tl|tc}}的内容会在此頁面显示,即{{tc}}。 如果“[[Template:模板名]]”不存在,<code><nowiki>{{模板名}}</nowiki></code>的作用就与<code><nowiki>[[Template:模板名]]</nowiki></code>相同,提供一个连接到不存在页面的链接:{{模板名}}。 模板可以被[[WP:重定向|重定向]]。[[Template:请求来源]]被重定向到[[Template:Fact]],所以<nowiki>{{请求来源}}</nowiki>效果等同于<nowiki>{{fact}}</nowiki>。有时移动模板并建立重定向后,原调用重定向的页面可能会出错,只要过一段时间(几小时)等服务器刷新缓存即可。 === 设定参数 === 在模板名后可用管道符(即竖线)追加参数(这种做法称为'''传参''')。参数有编号参数和命名参数两种。在模板的说明文档里一般会列出该模板的所有参数。 例如,{{Code|<nowiki>{{fact|1=维基百科的编者大部分是男性|time=</nowiki>{{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY2}}<nowiki>}}</nowiki>}}得到「{{fact|1=维基百科的编者大部分是男性|time={{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY2}}}}」。 “维基百科的编者大部分是男性”的参数名为<code>1</code>。“{{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY2}}”的参数名为<code>time</code>。参数名为数字就是'''编号参数''',否则就是'''命名参数'''。 编号参数的参数名(1、2、3、4等)和等号可以省略。上例的效果和<nowiki>{{fact|维基百科的编者大部分是男性|time=</nowiki>{{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY2}}<nowiki>}}</nowiki>是一样的。注意,以省略形式赋值的第一个编号参数的参数名是1,而不是很多编程语言习惯的0。 {| class="wikitable" |- ! 调用 !! 效果 |- |{{tlc|catnav|页面分类|地理|大洲|亚洲|亚洲国家}} || {{catnav|页面分类|地理|大洲|亚洲|亚洲国家}} |- |{{tlc|catnav|2='''0=页面分类'''|3=1=地理|4=2=大洲|5=3=亚洲|6=4=亚洲国家}} || {{catnav|0=页面分类|1=地理|2=大洲|3=亚洲|4=亚洲国家}} |- |{{tlc|catnav|2=1=页面分类|3=2=地理|4=3=大洲|5=4=亚洲|6=5=亚洲国家}}|| {{catnav|1=页面分类|2=地理|3=大洲|4=亚洲|5=亚洲国家}} |- |{{tlc|catnav|2=5=亚洲国家|3=4=亚洲|4=3=大洲|5=2=地理|6=1=页面分类}}|| {{catnav|5=亚洲国家|4=亚洲|3=大洲|2=地理|1=页面分类}} |- |{{tlc|catnav|2=1=页面分类|3=2=地理|4='''大洲'''|5=4=亚洲|6='''亚洲国家'''}} '''要么全不省略编号参数参数名,要么全都省略,否则极易出错。''' 可以理解为参数1第一次赋值为“页面分类”,然后“大洲”作为隐藏的参数1第二次赋值覆盖了第一次赋值的内容。 如此类推。 在编辑预览中会警示这种重复赋值问题。 ||{{catnav|1=页面分类|2=地理|大洲|4=亚洲|亚洲国家}} |} ==== 需要转义的参数 ==== *如果参数值中含有等号(<code>=</code>),传参时则必须使用参数名,即使是编号参数也要使用。 *如果参数值中含有两个连续的右大括号(<code><nowiki>}}</nowiki></code>),调用参数时必须将其放入nowiki标记中,例如<code><nowiki><nowiki>}}</nowiki></nowiki></code>。 *如果参数值中含有竖线(<code><nowiki>|</nowiki></code>),调用参数时必须将其放入nowiki标记中,例如<code><nowiki><nowiki>|</nowiki></nowiki></code>,或用<code><nowiki>{{!}}</nowiki></code>代替<ref>{{cite web|title=[[Help:魔术字#.E5.85.B6.E4.BB.96]]|date=2015-08-02}}</ref><ref>{{cite web|url=https://gerrit.wikimedia.org/r/#/c/136234/|title=MediaWiki更新记录|date=2015-08-02}}</ref>。 <!--请改良下面这行--> <!--*参数值可以很长,比如这个[http://zh.wikipedia.org/w/index.php?title=Help:%E6%A8%A1%E6%9D%BF&action=edit§ion=13 例子]。--> *参数值中可以包含一对双方括号(即两个左方括号,两个右方括号),用于链接一个条目,或是其他[[Help:名字空间|名字空间]]的页面,但不能先写右双方括号,然后再接左双方括号。例如[[Template:数数1]]中的内容是: <pre> [[一二{{{1}}}六七]] </pre> :{{tlc|数数1|<nowiki>三]]四[[五</nowiki>}}会造成模板调用失败,显示为: -{}-{{数数1|三]]四[[五}} :而不是你所期望的 [[一二三]]四[[五六七]] :不過可以使用{{tlx|!((}}(<nowiki>[[</nowiki>)及{{tlx|))!}}(<nowiki>]]</nowiki>)來讓這個結果成真,因此: <pre>-{}- {{数数1|三{{))!}}四{{((!}}五}} </pre> 會變成: -{}-{{数数1|三{{))!}}四{{!((}}五}} ===替换引用=== {{main|Help:替换引用}} 另见[[:分类:应被替换引用的模板]] 放置修饰符“subst:”(substitute,替代)位于模板标签的“{{”之后,模板名之前,即可替换引用。它能在调用方页面保存时,将所调模板展开,而不是每次显示页面的时候读取有关模板。这样可以按模板当前的形式编辑条目,并使条目免受模板变化的影响,并减轻服务器负担。所以对模板的替换引用不会显示在页面历史和模板的链入页面中。 例如{{tl|fact/auto}}和{{tl|未签名}}都是应被替换引用的模板。 == 嵌入页面 == {{Main|WP:嵌入包含}} 模板标签不仅可以调用模板,也可以调用(嵌入)其他页面,就是像模板一样把被调页面的内容加入到调用方页面。 * <code><nowiki>{{帮助讨论:模板}}</nowiki></code>会将[[帮助讨论:模板]]中的内容加入到该页来。 * 如果调用[[WP:命名空间|主命名空间]]的条目,为了避免和调用同名模板产生歧义,需要在条目名前加冒号。如<code><nowiki>{{:福寿岭站}}</nowiki></code>会将[[福寿岭站]]中的内容加入到该页来,而不是调用<nowiki>{{福寿岭站}}</nowiki>({{福寿岭站}})。 这样一来,所有页面都可以当作是模板。但是,使用在模板名字空间的页面(即真正的模板)有以下独特的好处: *所有被页面使用的模板都在页面编辑页显示出来。 *当模板改变时,所有使用模板页面的服务器缓存(相对于浏览器缓存)自动被清空;而位于其他名字空间的页面,服务器缓存往往要手工清空。 而模板名字空间以外的页面一般在如下情况下被嵌入其他页面: *引用维基百科名字空间的界面消息。 *将一個长页面(可以屬于主条目名字空间,假設名字就叫做“长页面”,[http://zh.wikipedia.org/w/index.php?title=%E8%A5%BF%E6%B1%89%E5%88%97%E4%BE%AF%E5%88%97%E8%A1%A8_%28%E5%8A%9F%E8%87%A3%E4%BE%AF%29&action=historysubmit&diff=16538515&oldid=16345825 例子])拆分为较短页面时,可以将短页面命名为“长页面/第一部分”、“长页面/第二部分”等,然后使用<code><nowiki>{{/第一部分}}<br />{{/第二部分}}</nowiki></code>来拼成长页面。[[Wikipedia:互助客栈 (全部)]]就是一个好例子。 一个模板可以调用另一个模板,它也可以调用它自己,但自我调用只有一层有效。例如:[[Template:模板1]]的内容是<code><nowiki>“一次,{{模板1}}”</nowiki></code>,在[[Template:模板1]]中将显示:<nowiki>“一次,一次,{{模板1}}”</nowiki>,如果其他条目调用该模板,所加入的文字将是 {{模板1}} 在2010年前,如果把其他模板重定向至某模板,该模板又引用重定向,且多次自我调用均为不同重定向,则该模板可以实现多次自我调用。MediaWiki后来取消此功能。如{{tl|RR|7}}的结果为{{RR|7}}。 模板中[[Help:变量|变量]]在调用模板的地方被赋值。因此,如果一个模板中含有<code><nowiki>{{PAGENAME}}</nowiki></code>,该模板被某页面调用,相应的位置显示的将是调用方的名称,而不是被调模板的名称。 一个页面所调用的所有模板都在该页编辑页面中列出,并提供相应的链接,而且: *一个段落的编辑页面不会列出任何模板; *编辑旧版本的页面,这个列表仍然是当前最新的; *可加入[[Help:模板擴展語法|模板擴展語法]]#if, #ifeq, #ifexist, #ifexpr, 或 #switch; *如果不真正提交编辑,仅仅在预览中使用的模板不被列出。 *如果模板名里面嵌套另一个模板,如<nowiki>{{{{tc}}{{CURRENTDAY}}}}</nowiki>,则会得到{{{{tc}}{{CURRENTDAY}}}};编辑页面里会显示[[Template:{{tc}}{{CURRENTDAY}}]]。 *模板名#后的内容会忽略。 请注意,如果页面结尾没有换行,编辑页面中总是在结尾添加一个换行,但这并不影响模板的某些效果,即这个换行不真正起作用。例如: <nowiki>{{编号演示}}{{编号演示}}</nowiki> <nowiki>{{编号演示}}</nowiki> 的结果是: {{编号演示}}{{编号演示}} {{编号演示}} == 创建并编辑模板 == 维基百科现存大量模板供编者使用,如果有现存模板可以完成您的任务,则应该调用现有模板,而不是另建新模板。<!-- (页面不存在) 关于模板的制作规范,请参见[[WP:模板规范]]。--> 您在新建模板前,请先搜索相应的模板名称,如“Template:维基百科模板”。新建模板后,请在[[Wikipedia:模板消息]]内添加您新建的模板的信息,并请对模板进行分类。模板分类的方法请参考[[:Category:维基百科模板]]以及[[:Category talk:维基百科模板]]中的相关内容。 当您在模板中需要使用图标时,建议使用维基共享资源[[commons:Crystal Clear|水晶风格图标库]]中提供的图标。 模板页面会自动调用这个模板本身,实际上相当于一次没有参数赋值的模板调用,因此如果参数有默认值,将被显示。例如:模板[[Template:数一数]]的内容是 <nowiki>一二三{{{1|四五六}}}七八九</nowiki> 模板页面的内容是 :{{数一数}} ===读取参数=== 在模板页面中,用三个[[大括号]]可以读取参数,例如:{{code|{{參數|参数1|参数1的默认值}}}}可以读取''参数1'',如果在模板调用中参数1没有赋值,则使用''参数1的默认值''作为参数1的赋值。另见[[Help:默认参数]] '''注意:'''参数默认值和参数赋空值是不同的。
返回至
首页
。
导航菜单
个人工具
登录
命名空间
Main page
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
关于我们
联系我们
资料下载
STM32F103开发板
STM32U575开发板
STM32MP157开发板
Hi3861鸿蒙开发板
HaaS EDU开发板
ESP32开发板
i.MX8M Plus开发板
图书下载
嵌入式系列图书
物联网系列图书
Android系列图书
高校教仪
嵌入式实验室产品
物联网实验室产品
人工智能实验室产品
虚拟仿真实验室产品
行业应用实训室产品
虚拟仿真
嵌入式虚拟仿真平台
物联网虚拟仿真平台
人工智能虚拟仿真
友情链接
华清远见研发中心
元宇宙实验中心
华清远见硬件商城
工具
链入页面
相关更改
特殊页面
页面信息