将参数传递给嵌套模板

时间:2017-03-27 03:44:22

标签: mediawiki mediawiki-templates

我正在尝试在我们的wiki中设置一个页面,该页面涵盖了我们软件中特定操作符的某些参数。 软件中的每个参数都可以是某种类型,如“菜单”或“切换”。

所以我想我会创建2个模板。首先称为“参数”,第二个称为“菜单”。

参数模板如下所示:

'''{{{label}}}''' <code>{{{name}}}</code> - {{{summary}}}

{{{items}}}

菜单模板如下所示:

* {{{label}}} <code>{{{name}}}</code> - {{{summary}}}

我页面的内容如下所示:

{{Parameter
|type=menu
|label=Interpolation
|name=interp
|items=
{{
{{menu|name=nointerp|label=No Interpolation|summary=Use the value of the nearest sample.}}
|{{menu|name=linear|label=Linear|summary=Use linear interpolation between samples when the interval is lengthened. Averages all samples near the new sample when the interval is shortened.}}
|{{menu|name=cubic|label=Cubic|summary=Cubically interpolates between samples, for smoother curves than Linear. This method is not recommended for channels with sharp changes.}}
|{{menu|name=edge|label=Pulse Preserve|summary=A linear interpolation that recognizes single sample pulses and preserves their height and one sample width. A pulse is a non-zero value preceded and followed by zero-value samples.}}
}}
|summary=The interpolation method to use when resampling.}}

这几乎可以工作,但我得到了额外的字符,如“{”和“|”在实际页面上呈现。

我的问题我猜是:是否可以按照我的方式将参数传递给“子模板”?

非常感谢

2 个答案:

答案 0 :(得分:0)

正如评论中所提到的,我认为这种方式有一个概念上的问题。 我不需要将参数传递给子模板,而是使用传递的参数调用另一个模板。 正确工作的版本看起来像这样(items参数未包含在curley括号中):

{{Parameter
|type=menu
|label=Interpolation
|name=interp
|items=
{{menu|name=nointerp|label=No Interpolation|summary=Use the value of the nearest sample.}}
|{{menu|name=linear|label=Linear|summary=Use linear interpolation between samples when the interval is lengthened. Averages all samples near the new sample when the interval is shortened.}}
|{{menu|name=cubic|label=Cubic|summary=Cubically interpolates between samples, for smoother curves than Linear. This method is not recommended for channels with sharp changes.}}
|{{menu|name=edge|label=Pulse Preserve|summary=A linear interpolation that recognizes single sample pulses and preserves their height and one sample width. A pulse is a non-zero value preceded and followed by zero-value samples.}}
|summary=The interpolation method to use when resampling.}}

答案 1 :(得分:0)

请注意,这会导致菜单作为参数items123传递。我认为你想要的是将它们全部作为items参数传递,在这种情况下你需要删除外部|标记。