Difference between revisions of "Template:Ifnotempty"
rp>Patrick |
m (7 revisions imported) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
<span style="font-size:150%">Documentation</span></div>}} | <span style="font-size:150%">Documentation</span></div>}} | ||
{{Documentation subpage}} | {{Documentation subpage}} | ||
− | With this template [[mw:Help:Extension:ParserFunctions|#if]] can be used in a way such that it does not [[Help:Newlines_and_spaces# | + | With this template [[mw:Help:Extension:ParserFunctions|#if]] can be used in a way such that it does not [[Help:Newlines_and_spaces#Trimming_on_expansion|strip spaces and newlines]] from the "then" and "else" part. For evaluating the condition spaces and newlines are stripped like with ParserFunctions. |
==Usage== | ==Usage== | ||
Line 32: | Line 32: | ||
{{refs}} | {{refs}} | ||
− | <div style="clear:both;" /></div></div>[[Category:Branching templates]]</noinclude> | + | <div style="clear:both;"></div></div></div>[[Category:Branching templates]]</noinclude> |
Latest revision as of 19:48, 30 April 2021
Script error: No such module "Template translation". With this template #if can be used in a way such that it does not strip spaces and newlines from the "then" and "else" part. For evaluating the condition spaces and newlines are stripped like with ParserFunctions.
Usage
{{ifnotempty|x| p | q }}
gives " p "{{ifnotempty|| p | q }}
gives " q "
Compare:
{{#if:x| p | q }}
gives "p"
Note that, unlike parser functions, templates require writing equals signs in values of unnamed parameters as {{=}}
For full substitution, simply use Template:Cnw or Template:Cnw. If the condition contains a parser function, template, or variable, that should be substituted too. Optionally the "then" or "else" part can also be substituted.
Expansion depth limit
13 levels allowed:
{{ifnotempty|x|{{ifnotempty|x|{{ifnotempty|x|{{ifnotempty|x|{{ifnotempty|x|{{ifnotempty|x|{{ifnotempty|x|{{ifnotempty|x|{{ifnotempty|x|{{ifnotempty|x|{{ifnotempty|x|{{ifnotempty|x|{{ifnotempty|x|a}}}}}}}}}}}}}}}}}}}}}}}}}}
gives {{Expansion depth limit exceeded|x|{{Expansion depth limit exceeded|x|{{Expansion depth limit exceeded|x|a}}}}}}
{{ifnotempty|x|{{ifnotempty|x|{{ifnotempty|x|{{ifnotempty|x|{{ifnotempty|x|{{ifnotempty|x|{{ifnotempty|x|{{ifnotempty|x|{{ifnotempty|x|{{ifnotempty|x|{{ifnotempty|x|{{ifnotempty|x|{{ifnotempty|x|{{ifnotempty|x|a}}}}}}}}}}}}}}}}}}}}}}}}}}}}
gives {{Expansion depth limit exceeded|x|{{Expansion depth limit exceeded|x|{{Expansion depth limit exceeded|x|{{Expansion depth limit exceeded|x|a}}}}}}}}
Internal technical details
For evaluating the condition the template uses the actual parser function; however, not directly with p and q, because this strips spaces and newlines from the result, but with index values 1 and 2. The result can be 1, 2. The template with the applicable name is called (Template:P1 or Template:P2), with as parameters p and q.
Conditions
#if:
Condition: string not empty.