Module:Unsubst/doc: Difference between revisions
(→Usage: If template has a <noinclude> but no matching </noinclude> then add it) |
(Remove now-unused $N from doc, except for a mention that it is no longer needed and may be removed from templates.) |
||
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= |
||
[ ... existing template code ... ] |
[ ... existing template code ... ] |
||
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= |
||
[ ... Template code goes here ... ] |
[ ... Template code goes here ... ] |
Revision as of 11:56, April 2, 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= [ ... existing template code ... ] }}
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= [ ... Template code goes here ... ] }}
Original | Result |
---|---|
{{subst:example}} | {{Example|foo=bar|date=June 2024}} |
{{subst:example|foo=X}} | {{Example|foo=X|date=June 2024}} |
{{subst:example|baz=X}} | {{Example|foo=bar|baz=X|date=June 2024}} |
{{subst:example|date=January 2001}} | {{Example|foo=bar|date=January 2001}} |