Difference between revisions of "Demo:IfStatement"

From PKC
Jump to navigation Jump to search
 
(18 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This page tries to use a set of nested If Statement to demonstrate the logic of Template inclusion:
This page tries to use a set of nested If Statement to demonstrate the logic of Template inclusion:


For example: If there is a book citation, it can be included using the <code>{{:PageName}}</code> instruction.
For example: If there is a book citation, it can be included using the <code>{{:PAGENAME}}</code> instruction.
  <nowiki>{{:Cite:book:Working with MediaWiki}}</nowiki>
  <nowiki>{{:Book/Working with MediaWiki}}</nowiki>


{{:Cite:book:Working with MediaWiki}}
{{:Book/Working with MediaWiki}}


This entry has many attributes, some of the attributes may have empty(null) value. The goal is to demonstrate that we can use the <code>{{#If condition| YES | NO}}</code> structure to determine how to show certain content or not.
This entry has many attributes, some of the attributes may have empty(null) value. The goal is to demonstrate that we can use the <code>{{#If condition| YES | NO}}</code> structure to determine how to show certain content or not.


For example: The data content in <code>{{:Cite:book:Working with MediaWiki}}</code> can be seen here:
For example: The data content in <code>{{:Book/Working with MediaWiki}}</code> can be seen here:
<syntaxhighlight lang=MD>
<syntaxhighlight lang=MD>
{{cite book
{{cite book
Line 17: Line 17:
  |edition=2nd
  |edition=2nd
  |url=https://workingwithmediawiki.com
  |url=https://workingwithmediawiki.com
  |location=
  |location=[[Book/Working with MediaWiki|local page]]
  |publisher=WikiWorks Press
  |publisher=WikiWorks Press
  |page= <!-- or pages= -->
  |page= <!-- or pages= -->
Line 26: Line 26:


==Simple Case==
==Simple Case==
Knowing that <code>{{#If: condition| YES | NO}}</code> can decide whether to show something or not, we can use the empty value of the template, <code>location=</code> to make that decision.
Knowing that <code>{{#If: condition| YES | NO}}</code> can decide whether to show something or not, this feature can be applied in the following way.  
  <nowiki>{{#If: 1 |Something to show | Nothing to show|}}</nowiki>
  <nowiki>{{#If: 1 |Something to show | Nothing to show|}}</nowiki>


Line 38: Line 38:


  {{#If:  |Something to show | Nothing to show|}}
  {{#If:  |Something to show | Nothing to show|}}
==Template Coding==
Knowing this feature, we can judge whether certain portion of a template would show or not.
For example, we can decide when a person doesn't have first and last name, the rendering result would raise some alarm:
<syntaxhighlight lang=MD>
{{cite book
|last=Koren
|first=Yaron
|author-link=Yaron Koren
|title=Working with MediaWiki
|edition=2nd
|url=https://workingwithmediawiki.com
|location=[[Book/Working with MediaWiki|local page]]
|publisher=WikiWorks Press
|page= <!-- or pages= -->
|isbn=978-1540761149
|date=2020
}}
</syntaxhighlight>
Rendered result:
{{cite book
|last=Koren
|first=Yaron
|author-link=Yaron Koren
|title=Working with MediaWiki
|edition=2nd
|url=https://workingwithmediawiki.com
|location=[[Book/Working with MediaWiki|local page]]
|publisher=WikiWorks Press
|page= <!-- or pages= -->
|isbn=978-1540761149
|date=2020
}}
==Using #If in Template==
Let's look at the content of the Template:VerifiedAuthor:
<syntaxhighlight lang=MD>
=Welcome to Template:VerifiedAuthor=
This template will only show you the entry when both first and last name of an author is provided.
</syntaxhighlight>
The rendering result would show like this:
{{VerifiedAuthor|firstName=|lastName=}}
[[Category:If]]

Latest revision as of 11:45, 30 November 2022

This page tries to use a set of nested If Statement to demonstrate the logic of Template inclusion:

For example: If there is a book citation, it can be included using the PAGENAME instruction.

{{:Book/Working with MediaWiki}}

Koren, Yaron (2020). Working with MediaWiki (2nd ed.). local page: WikiWorks Press. ISBN 978-1540761149. 

This entry has many attributes, some of the attributes may have empty(null) value. The goal is to demonstrate that we can use the {{#If condition| YES | NO}} structure to determine how to show certain content or not.

For example: The data content in Koren, Yaron (2020). Working with MediaWiki (2nd ed.). local page: WikiWorks Press. ISBN 978-1540761149.  can be seen here:

{{cite book
 |last=Koren
 |first=Yaron
 |author-link=Yaron Koren
 |title=Working with MediaWiki
 |edition=2nd
 |url=https://workingwithmediawiki.com
 |location=[[Book/Working with MediaWiki|local page]]
 |publisher=WikiWorks Press
 |page= <!-- or pages= -->
 |isbn=978-1540761149
 |date=2020
}}

Simple Case

Knowing that YES can decide whether to show something or not, this feature can be applied in the following way.

{{#If: 1 |Something to show | Nothing to show|}}

The following is the actual result:

Something to show
{{#If:  |Something to show | Nothing to show|}}

The following is the actual result:

Nothing to show

Template Coding

Knowing this feature, we can judge whether certain portion of a template would show or not.

For example, we can decide when a person doesn't have first and last name, the rendering result would raise some alarm:

{{cite book
 |last=Koren
 |first=Yaron
 |author-link=Yaron Koren
 |title=Working with MediaWiki
 |edition=2nd
 |url=https://workingwithmediawiki.com
 |location=[[Book/Working with MediaWiki|local page]]
 |publisher=WikiWorks Press
 |page= <!-- or pages= -->
 |isbn=978-1540761149
 |date=2020
}}

Rendered result:

Koren, Yaron (2020). Working with MediaWiki (2nd ed.). local page: WikiWorks Press. ISBN 978-1540761149. 

Using #If in Template

Let's look at the content of the Template:VerifiedAuthor:

=Welcome to Template:VerifiedAuthor=
This template will only show you the entry when both first and last name of an author is provided.

The rendering result would show like this:

This template will only show you the entry when both first and last name of an author is provided.