Revision as of 12:13, 17 December 2013 editPrimeHunter (talk | contribs)Administrators79,253 edits →Usage: If template has a <noinclude> but no matching </noinclude> then add it← Previous edit | Revision as of 11:56, 2 April 2014 edit undoAnomie (talk | contribs)Edit filter managers, Autopatrolled, Administrators33,951 edits Remove now-unused $N from doc, except for a mention that it is no longer needed and may be removed from templates.Next edit → | ||
Line 9: | Line 9: | ||
To turn a template into a self-substituting template, wrap the existing template code with: | To turn a template into a self-substituting template, wrap the existing template code with: | ||
<pre> | <pre> | ||
{{ {{{|safesubst:}}}#invoke:Unsubst| |
{{ {{{|safesubst:}}}#invoke:Unsubst||$B= | ||
Line 16: | Line 16: | ||
</pre> | </pre> | ||
The wikitext to display when not substed must be given as "$B". A parameter "$N" may also be seen in some templates; this was required in an older version of the module, but is no longer necessary and may be removed. | |||
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. | 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 <nowiki><noinclude></nowiki> but no matching <nowiki></noinclude></nowiki> at the end of the template. In such cases the missing <nowiki></noinclude></nowiki> must be added before the ending <code><nowiki>}}</nowiki></code>. |
Some templates have a <nowiki><noinclude></nowiki> but no matching <nowiki></noinclude></nowiki> at the end of the template. In such cases the missing <nowiki></noinclude></nowiki> must be added before the ending <code><nowiki>}}</nowiki></code>. | ||
=== Example === | === Example === | ||
Consider a template Template:Example containing the following code: | Consider a template Template:Example containing the following code: | ||
<pre> | <pre> | ||
{{ {{{|safesubst:}}}#invoke:Unsubst| |
{{ {{{|safesubst:}}}#invoke:Unsubst||foo=bar |date=__DATE__ |$B= | ||
Revision as of 11:56, 2 April 2014
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||$B= }}
The wikitext to display when not substed must be given as "$B". A parameter "$N" may also be seen in some templates; this was required in an older version of the module, but is no longer necessary and may be removed.
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||foo=bar |date=__DATE__ |$B= }}
Original | Result |
---|---|
{{subst:example}} | {{Example|foo=bar|date=January 2025}} |
{{subst:example|foo=X}} | {{Example|foo=X|date=January 2025}} |
{{subst:example|baz=X}} | {{Example|foo=bar|baz=X|date=January 2025}} |
{{subst:example|date=January 2001}} | {{Example|foo=bar|date=January 2001}} |