“模板:Ptl”的版本间的差异

来自维阿百科
跳转至: 导航搜索
1.38>牛腩面
(导入1个版本)
 
 
(未显示同一用户的1个中间版本)
第2行: 第2行:
 
-->{{#if:{{{define|}}}|{{#vardefine:ptl.templates.{{{define|}}}|{{{tl|}}}}}{{#vardefine:ptl.saveCalled|{{{define|}}}}}|<!--
 
-->{{#if:{{{define|}}}|{{#vardefine:ptl.templates.{{{define|}}}|{{{tl|}}}}}{{#vardefine:ptl.saveCalled|{{{define|}}}}}|<!--
 
-->{{#if:{{{use|{{#var:ptl.saveCalled}}}}}|{{#invoke:pageTemplate|main|tl={{#var:ptl.templates.{{{use|{{#var:ptl.saveCalled}}}}}}}}}{{#vardefine:ptl.saveCalled|{{{use|{{#var:ptl.saveCalled}}}}}}}|{{error|错误的页内模板使用}}}}}}<!--
 
-->{{#if:{{{use|{{#var:ptl.saveCalled}}}}}|{{#invoke:pageTemplate|main|tl={{#var:ptl.templates.{{{use|{{#var:ptl.saveCalled}}}}}}}}}{{#vardefine:ptl.saveCalled|{{{use|{{#var:ptl.saveCalled}}}}}}}|{{error|错误的页内模板使用}}}}}}<!--
--></includeonly><noinclude>{{萌百嵌入|模板:ptl}}</noinclude>
+
--></includeonly><noinclude>{{doc}}</noinclude>

2022年7月16日 (六) 13:08的最新版本

Template-info.png 模板文档  [查看] [编辑] [历史] [刷新]

简介

该模板可以在一个页面内模拟模板的行为,按场景解决代码重复等问题。

{{页内模板}},{{lambda}}也重定向至该模板。

如果有多个页面都要使用同一组模板代码,建议新建一个模板页面,而不是在多个页面间复制模板代码。

(i)注意 在模板中使用该模板会增加页面展开长度,请优先考虑新建模板。

用法

<!-- 声明模板 -->
{{ptl|define=模板名|tl=<nowiki>
模板代码
<!-- 其中的参数写法 -->
{{{ 1 }}}                         <!-- 匿名参数,所有参数名都会自动清除首尾空格,这与wikitext模板是一致的 -->
{{{ name }}}                      <!-- 命名参数 -->
{{{ 匿名参数2 | 默认值 }}}        <!-- 添加默认值 -->
{{{ 3 | {{{ age | 14 }}} }}}      <!-- 允许嵌套使用 -->
</nowiki>
}}

<!-- 使用模板 -->
{{ptl|use=模板名|参数...}}
  • 模板代码需要使用<nowiki>标签包裹
  • 若参数中要显示管道符,可以使用{{!}}代替
  • 如果未对某个参数传参,也未设置默认值,这个参数的代码将被看作是一个普通字符串,这与wikitext模板是一致的。

简写

  • 可以不填写use参数而直接使用,这时将调用上次调用过的模板
  • 若从未调用过模板,则改为调用最新声明的那个模板

示例

示例1

{{ptl|define=plus|tl=<nowiki>
{{#expr:{{{1 | 0}}} + 1}}
</nowiki>}}
{{ptl}}

{{ptl|10}}

结果:

1

11

示例2

{{ptl|define=rect|tl=<nowiki>
<div style="width:{{{width | 100px}}}; height:{{{height | 100px}}}; background:{{{color | #eee}}};"></div>
</nowiki>}}
{{ptl|define=round|tl=<nowiki>
<div style="width:{{{width | 100px}}}; height:{{{height | 100px}}}; background:{{{color | orange}}}; border-radius:50%;"></div>
</nowiki>}}

{{ptl}}

{{ptl|use=rect|color=blue}}

结果: