Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Rationale  



1.1  Piping  







2 Examples  





3 See also  














Template:If empty






Acèh
Afrikaans
ak:Nhwɛsode:If empty

Anarâškielâ
Аԥсшәа
العربية
Արեւմտահայերէն
Arpetan

Asturianu
Avañe'
Авар
Azərbaycanca
تۆرکجه
Basa Bali

Banjar
 / Bân-lâm-gú
Basa Banyumasan
Беларуская
Беларуская (тарашкевіца)

Bikol Central
Български
Boarisch
Bosanski
Буряад
Català
Чӑвашла
Čeština
Chavacano de Zamboanga
Chi-Chewa
ChiShona
Corsu
Cymraeg
Dagbanli
Dansk
الدارجة
Deutsch
ދިވެހިބަސް
Eesti
Ελληνικά
Español
Esperanto
Euskara
فارسی
Føroyskt
Français
Gaeilge
Galego
ГӀалгӀай


  / Gõychi Konknni
Gungbe
/Hak-kâ-ngî
Хальмг

Hausa
Hawaiʻi
Հայերեն
ि
Hrvatski
Igbo
Ilokano
Bahasa Indonesia
Ирон
IsiXhosa
Íslenska
Jawa


Қазақша
Kongo
Kreyòl ayisyen
Kurdî
Кыргызча
Ladin
Latgaļu
Latviešu
Lëtzebuergesch
Лезги
Lietuvių
Li Niha
Luganda
Magyar
Madhurâ
ि
Македонски

Malti
Māori

مصرى

مازِرونی
Bahasa Melayu
Minangkabau
 / Mìng-dĕ̤ng-nḡ
Mirandés
Монгол

Na Vosa Vakaviti
Nederlands

 

Нохчийн
Norfuk / Pitkern
Norsk bokmål
Norsk nynorsk
Novial
Occitan
ି
Oʻzbekcha / ўзбекча

Pangasinan
پنجابی
Papiamentu
پښتو

Polski
Português
Română
Русский
Gagana Samoa

Scots
Shqip

Simple English
سنڌي
Slovenčina
Slovenščina
Soomaaliga
کوردی
Српски / srpski
Srpskohrvatski / српскохрватски
Sunda
Suomi
Svenska
Tagalog
ி
Taclit
Taqbaylit
Татарча / tatarça
 


Тоҷикӣ

Tshivenda

Türkçe
Удмурт
Українська
اردو
Vèneto
Tiếng Vit
Wayuunaiki

Winaray

Yorùbá

Zazaki

 

Edit links
 









Template
Talk
 

















Read
View source
View history
 








Tools
   


Actions  



Read
View source
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 




In other projects  



Wikimedia Commons
Meta-Wiki
Wikidata
Wikifunctions
Wikiquote
Wikiversity
Wikivoyage
Wiktionary
 
















Appearance
   

 





Permanently protected template

From Wikipedia, the free encyclopedia
 


This template is used inside other templates. It takes any number of parameters and returns the first found to be defined and non-empty. If none is found, nothing is returned. By writing {{if empty|a|b|c}} instead of {{#if:a|a|{{#if:b|b|c}}}}, expression a and b do not have to be repeated and evaluated twice. The template provides a fallback order, similar to a try catch based "It is easier to ask for forgiveness than permission" (EAFP) programming style.

Typical usage is like this:

{{If empty |{{{logo|}}} |{{{image|}}} |{{{picture|}}} |default.svg}}
— Return {{{logo|}}} if it has a value; else {{{image|}}} if it has a value; else {{{picture|}}} if it has a value; else return "default.svg".

This returns the first of the parameters logo, image and picture that is defined and non-empty, otherwise "default.svg".

Rationale

The MediaWiki parameter default function doesn't return the default value for empty parameters. That is, {{{logo|default.svg}}} does not return "default.svg" if the template was called like this: {{template|logo=}}.

The usual workaround for a single parameter is:

{{#if:{{{logo|}}} |{{{logo}}} |default.svg}}
— If {{{logo}}} has a value, return it, else return "default.svg".

But this becomes complex when several parameters are to be checked:

{{#if:{{{logo|}}} |{{{logo}}} |{{#if:{{{image|}}} |{{{image}}} |{{#if:{{{picture|}}} |{{{picture}}} |default.svg}} }} }}
— If {{{logo}}} has a value, return it; else if {{{image}}} has a value, return that; else if {{{picture}}} has a value, return that; else return "default.svg".

In these cases, {{if empty}} produces the simpler syntax (as above):

{{if empty |{{{logo|}}} |{{{image|}}} |{{{picture|}}} |default.svg}}

Piping

Parameters used with {{if empty}} must be piped – i.e. include the vertical bar (pipe) symbol ("|") as a trailing character – so that empty or undefined parameters aren't treated as text and returned incorrectly. Hence, for example, {{{logo|}}}, {{{image|}}} and {{{picture|}}} rather than {{{logo}}}, {{{image}}} and {{{picture}}} in the above examples.

Examples

Code Result
{{if empty}} Returns an empty string.
{{if empty|one}} one Returns the first parameter that is defined and not empty.
{{if empty|one|two}} one
{{if empty|one|two|three|four}} one
{{if empty|two}} two The first parameter is empty/undefined, so is passed over.
{{if empty|two|three|four}} two
{{if empty|two|four}} two
{{if empty||||||||||ten}} ten Unlike in previous versions, this template is no longer limited by 9 parameters.
{{if empty|}} The only parameter is empty or undefined, so returns an empty string.
{{if empty|||||}} Returns an empty string.
{{if empty|{{{1|}}}|{{{2|}}}|three}} three
{{if empty|{{{1}}}|{{{2}}}|three}} {{{1}}} No pipe-characters following the names of the first two parameters ("1" and "2"), so the first of these returned as text ("{{{1}}}").
{{if empty|{{{logo|}}}|two}} two
{{if empty|{{{logo}}}|two}} {{{logo}}} No pipe-character following the parameter name "logo", so the text "{{{logo}}}" returned.
{{if empty|p=q}} The template identifies the parameters it receives as parameters 1 to 9, not using names such as "p", etc.

See also


Retrieved from "https://en.wikipedia.org/w/index.php?title=Template:If_empty&oldid=1080850732"

Categories: 
Lua-based templates
If-then-else templates
Parameter selection templates
Hidden category: 
Wikipedia fully protected templates
 



This page was last edited on 3 April 2022, at 20:56 (UTC).

Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



Privacy policy

About Wikipedia

Disclaimers

Contact Wikipedia

Code of Conduct

Developers

Statistics

Cookie statement

Mobile view



Wikimedia Foundation
Powered by MediaWiki