Here is a text of template:

# {{{Domain|{{{Lang}}}}}} <br />
# {{#if: {{{Domain|}}} | {{{Domain|}}} |{{{Lang}}} }}<br />
# {{{1|}}}<br />

A) {{User:Alogrin/Template:Test|Lang=english| Domain= }}
This one doesn’t work with a passing of an «empty» Domain to {{{Domain|{{{Lang}}}}}}. But #if: — works.


  1. english

B) {{User:Alogrin/Template:Test|Lang=english| Domain}}
This works, though only because «Domain» is treated as a string.

  1. english
  2. english
  3. Domain

C) {{User:Alogrin/Template:Test|Lang=english| Domain{{#if: |=Domain-value}}}}
Works, as in (B)

  1. english
  2. english
  3. Domain

D) {{User:Alogrin/Template:Test|Lang=english| Domain{{#if: yes |=Domain-value}}}}
Works, as in (B) — the whole section is treated, as a single string parameter

  1. english
  2. english
  3. Domain =Domain-value

E) {{User:Alogrin/Template:Test|Lang=english| Domain={{#if: | Domain-value}}}}
Works as in (A)


  1. english

F) {{User:Alogrin/Template:Test|Lang=english| Domain={{#if: yes | Domain-value}}}}
This one is a desirable result — {{{Domain|{{{Lang}}}}}} works in sync with #if:

  1. Domain-value
  2. Domain-value

G) {{User:Alogrin/Template:Test|Lang=english| {{#if: | Domain=Domain-value}}}}
Works, as in (B) — the whole section is treated, as a single string parameter

  1. english
  2. english

H) {{User:Alogrin/Template:Test|Lang=english| {{#if: yes | Domain=Domain-value}}}}
Works, as in (B) — the whole section is treated, as a single string parameter

  1. english
  2. english
  3. Domain=Domain-value