此頁面為 模块:Unsubst 的說明文件
Helper module to facilitate a substituted template transform into a template transclusion.
Maintenance templates, such as {{Citation needed}} or {{Refimprove}}, should never be substituted. A trick to avoid that is to make a template substitute to its transcluded form.
Usage
To turn a template into a self-substituting template, wrap the existing template code with:
{{ {{{|safesubst:}}}#invoke:Unsubst||$N=TEMPLATENAME |$B= [ ... existing template code ... ] }}
The name of the template must be given as "$N", and the wikitext to display when not substed must be given as "$B".
All other parameters passed to the #invoke will be copied to the generated template invocation as default values. If the value of any of these default parameters is "__DATE__", that value in the generated template invocation will be the current month and year.
Some templates have a <noinclude> but no matching </noinclude> at the end of the template. In such cases the missing </noinclude> must be added before the ending }}
.
Example
Consider a template Template:Example containing the following code:
{{ {{{|safesubst:}}}#invoke:Unsubst||$N=Example |foo=bar |date=__DATE__ |$B= [ ... Template code goes here ... ] }}
Original | Result |
---|---|
{{subst:example}} | {{Example|foo=bar|date=2024年11月}} |
{{subst:example|foo=X}} | {{Example|foo=X|date=2024年11月}} |
{{subst:example|baz=X}} | {{Example|foo=bar|baz=X|date=2024年11月}} |
{{subst:example|date=January 2001}} | {{Example|foo=bar|date=January 2001}} |