有没有办法在模板或其他页面内部设置 "new" 参数?

Is there a way to set a "new" parameter, internally to a template or other page?

假设我有一些页面可以接受两个参数,x 和 y。我经常发现自己在那个页面上做一些事情,就像这个愚蠢的小例子一样:

{{#if: {{{x|{{{y|}}}}}} | '''{{{x|{{{y|}}}}}}'''. I repeat, {{{x|{{{y|}}}}}}.}}

在许多情况下,我非常希望简化 {{{x|{{{y|}}}}}} 的重用,以便清晰、易于键入以及更不容易遗漏或搞砸。所以,我想做类似以下假设语法的事情:

{{#set:z|{{{x|{{{y|}}}}}}}}
{{#if: {{{z|}}} | '''{{{z}}}'''. I repeat, {{{z}}}.}}

即创建一个新参数z,它没有传递给页面,但仍然可以在页面中使用。有没有办法做这样的事情?

有扩展名Variables,但它假定了一定的解析顺序,用Parsoid解析页面时就不是这样了。

为了保证正确的解析顺序,您可以使用 Lua

但最简单的方法是创建一个新模板,只采用一个参数并从原始参数调用它。

Template1:

{{template2| z = {{{x|{{{y|}}}}}} }}

Template2:

{{#if: {{{z}}} | '''{{{z}}}'''. I repeat, {{{z}}}.}}