<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.limswiki.org/index.php?action=history&amp;feed=atom&amp;title=Template%3AIfempty%2Fdoc</id>
	<title>Template:Ifempty/doc - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.limswiki.org/index.php?action=history&amp;feed=atom&amp;title=Template%3AIfempty%2Fdoc"/>
	<link rel="alternate" type="text/html" href="https://www.limswiki.org/index.php?title=Template:Ifempty/doc&amp;action=history"/>
	<updated>2026-04-04T15:59:24Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://www.limswiki.org/index.php?title=Template:Ifempty/doc&amp;diff=21018&amp;oldid=prev</id>
		<title>Shawndouglas: Updated.</title>
		<link rel="alternate" type="text/html" href="https://www.limswiki.org/index.php?title=Template:Ifempty/doc&amp;diff=21018&amp;oldid=prev"/>
		<updated>2015-03-02T23:57:40Z</updated>

		<summary type="html">&lt;p&gt;Updated.&lt;/p&gt;
&lt;a href=&quot;https://www.limswiki.org/index.php?title=Template:Ifempty/doc&amp;amp;diff=21018&amp;amp;oldid=13856&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Shawndouglas</name></author>
	</entry>
	<entry>
		<id>https://www.limswiki.org/index.php?title=Template:Ifempty/doc&amp;diff=13856&amp;oldid=prev</id>
		<title>Shawndouglas: Created as needed.</title>
		<link rel="alternate" type="text/html" href="https://www.limswiki.org/index.php?title=Template:Ifempty/doc&amp;diff=13856&amp;oldid=prev"/>
		<updated>2014-03-25T23:41:36Z</updated>

		<summary type="html">&lt;p&gt;Created as needed.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Documentation subpage}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the {{tl|ifempty}} template.&lt;br /&gt;
&lt;br /&gt;
This template is used inside other templates. It takes up to nine parameters (parameters 1-9), and returns the first one that is defined and non-empty, otherwise nothing. Typical usage is like this:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ifempty| {{{logo|}}} | {{{image|}}} | default.svg }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
This returns the first of the parameters ''logo'' and ''image'' that is defined and non-empty, otherwise &amp;quot;default.svg&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
The MediaWiki parameter default function doesn't return the default value for empty parameters. That is, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{logo|default.svg}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; does not return &amp;quot;default.svg&amp;quot; if the template was called like this: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{template|logo=}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The usual workaround is to do like this: &lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#if:{{{logo|}}}| {{{logo}}} | default.svg }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But this becomes complex when you want to check several parameters:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#if:{{{logo|}}}| {{{logo}}} | {{#if:{{{image|}}} | {{{image}}} | default.svg }}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then it is easier to use this template instead:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ifempty| {{{logo|}}} | {{{image|}}} | default.svg }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note!''' The parameters to {{tlf|ifempty}} must use the pipe &amp;quot;|&amp;quot;, like this: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{logo|}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Or else {{tlf|ifempty}} will be fed and return the string &amp;quot;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{logo}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;quot; if ''logo'' was not defined.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Code&amp;lt;th&amp;gt;Result&amp;lt;th&amp;gt;Comment&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;{{tlc|ifempty}} &amp;lt;td&amp;gt;{{ifempty}} &amp;lt;td&amp;gt;Returns an empty string.&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;{{tlc|ifempty|one}} &amp;lt;td&amp;gt;{{ifempty|one}} &amp;lt;td&amp;gt;Returns the first parameter that is defined and not empty.&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;{{tlc|ifempty|one|two}} &amp;lt;td&amp;gt;{{ifempty|one|two}} &amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;{{tlc|ifempty|one|two|three|four}} &amp;lt;td&amp;gt;{{ifempty|one|two|three|four}} &amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;{{tlc|ifempty||two}} &amp;lt;td&amp;gt;{{ifempty||two}} &amp;lt;td&amp;gt;The first parameter was empty or undefined, so uses the next parameter.&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;{{tlc|ifempty||two|three|four}} &amp;lt;td&amp;gt;{{ifempty||two|three|four}} &amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;{{tlc|ifempty||two||four}} &amp;lt;td&amp;gt;{{ifempty||two||four}} &amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ifempty|||||||||nine}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;lt;td&amp;gt;{{ifempty|||||||||nine}} &amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ifempty||||||||||ten}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;lt;td&amp;gt;{{ifempty||||||||||ten}} &amp;lt;td&amp;gt;Only handles up to nine parameters, so returns an empty string.&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;{{tlc|ifempty|}} &amp;lt;td&amp;gt;{{ifempty|}} &amp;lt;td&amp;gt;The only parameter is empty or undefined, so returns an empty string.&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;{{tlc|ifempty||||}} &amp;lt;td&amp;gt;{{ifempty||||}} &amp;lt;td&amp;gt;Returns an empty string.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ifempty|{{{1|}}}|{{{2|}}}|three}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;lt;td&amp;gt;{{ifempty|{{{1|}}}|{{{2|}}}|three}} &amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ifempty|{{{1}}}|{{{2}}}|three}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;lt;td&amp;gt;{{ifempty|{{{1}}}|{{{2}}}|three}} &amp;lt;td&amp;gt;Returns the text &amp;quot;{{{1}}}&amp;quot;, because it is a non-empty string. Note the lack of &amp;quot;|&amp;quot; in the first two parameters.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ifempty|{{{logo|}}}|two}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;lt;td&amp;gt;{{ifempty|{{{logo|}}}|two}} &amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ifempty|{{{logo}}}|two}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;lt;td&amp;gt;{{ifempty|{{{logo}}}|two}} &amp;lt;td&amp;gt;Returns the text &amp;quot;{{{logo}}}&amp;quot;, because it is a non-empty string. Note the lack of &amp;quot;|&amp;quot; in the first parameter.&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ifempty|2=x}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;lt;td&amp;gt;{{ifempty|2=x}} &amp;lt;td&amp;gt;Whether parameter 1 is undefined or empty does not matter.&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ifempty|p=q}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;lt;td&amp;gt;{{ifempty|p=q}} &amp;lt;td&amp;gt;The template checks its parameters 1-9, not other ones. &lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== See also ===&lt;br /&gt;
&lt;br /&gt;
* {{tl|px}} – Helps handling image width parameters in templates.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- ADD CATEGORIES AND INTERWIKIS BELOW THIS LINE --&amp;gt;&lt;br /&gt;
[[Category:If-then-else templates|{{PAGENAME}}]]&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shawndouglas</name></author>
	</entry>
</feed>