Difference between revisions of "Template:Event infobox"

From Tokyo Afterschool Summoners
Jump to navigation Jump to search
 
(45 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<includeonly>{{#if: {{NAMESPACE}} | <!-- don't create subobj within namespace --> |
<includeonly>{{#if: {{NAMESPACE}} | <!-- don't create subobj within namespace --> |
{{#vardefine:is active|
{{ #if: {{{id|}}} | {{#masterdata:Event|{{{id|}}} }} }}{{#vardefine:is active|{{#ifeq:{{{active|}}}|true|true|{{#ifeq:{{{active|}}}|false|false|}}}}
}}{{#if:{{{duration|}}}|
}}{{#vardefine:duration array|{{{duration|{{#var:event duration|}}}}}{{#vardefine:duration|}}
  {{#vardefine:duration array|{{{duration|}}}
}}{{#if:{{{duration|{{#var:event duration|}}}}}|
}}{{#vardefine:duration loop|1
  {{#vardefine:duration loop|1
}}{{#while:|{{#var:duration loop}}|
}}{{#while:|{{#var:duration loop}}|
{{#vardefine:duration array piece|
{{#vardefine:duration array piece|
   {{#sub:{{#var:duration array}}|0|{{#pos:{{#var:duration array}}|;}}}}
   {{#sub:{{#var:duration array}}|0|{{#pos:{{#var:duration array}}|;}}}}
}}{{#if:{{#var:duration array|}}|
}}{{#if:{{#var:duration array|}}|
{{#if:{{#pos:{{#var:duration array}}|!}}|
  {{#if:{{#pos:{{#var:duration array}}|!}}|
  {{#vardefine:duration array piece name|
    {{#vardefine:duration array piece name|
    {{#explode:{{#var:duration array piece}}|!|0}}
      {{#explode:{{#var:duration array piece}}|!|0}}
  }}{{#vardefine:duration array piece start|
    }}{{#vardefine:duration array piece start|
    {{#explode:
      {{#explode:
      {{#explode:{{#var:duration array piece}}|!|1
        {{#explode:{{#var:duration array piece}}|!|1
    }}|->|0}}
      }}|->|0}}
  }}{{#vardefine:duration array piece end|
    }}{{#vardefine:duration array piece end|
     {{#explode:
      {{#explode:
       {{#explode:{{#var:duration array piece}}|!|1
        {{#explode:{{#var:duration array piece}}|!|1
     }}|->|1}}
      }}|->|1}}
    }}
    |{{#vardefine:duration array piece name|Duration
     }}{{#vardefine:duration array piece start|
      {{#explode:{{#var:duration array piece}}|->|0}}
    }}{{#vardefine:duration array piece end|
       {{#explode:{{#var:duration array piece}}|->|1}}
    }}{{#if:{{#var:duration array piece start|}}||{{#vardefine:duration array piece start|{{#time:c|December 2nd, 2016}}}}
    }}{{#if:{{#var:duration array piece end|}}||{{#vardefine:duration array piece end|{{#time:c|December 31st, 3000}}}}
    }}
  }}{{#vardefine:duration array piece start|{{#replace:{{#var:duration array piece start}}|@|}}
    }}{{#vardefine:duration array piece end|{{#replace:{{#var:duration array piece end}}|@|}}
  }}{{#if:{{#var:duration}}|
    {{#vardefine:duration|{{#var:duration}};{{#var:duration array piece name}}!{{#replace:{{#time:c|{{#var:duration array piece start}}}}|+00:00|+09:00}}->{{#replace:{{#time:c|{{#var:duration array piece end}}}}|+00:00|+09:00}}}}
     |{{#vardefine:duration|{{#var:duration array piece name}}!{{#replace:{{#time:c|{{#var:duration array piece start}}}}|+00:00|+09:00}}->{{#replace:{{#time:c|{{#var:duration array piece end}}}}|+00:00|+09:00}}}}
  }}{{#ifexpr:{{#time: U|now}} >= {{#time:U|{{#var:duration array piece start}}}} and {{#time: U|now}} <= {{#time: U|{{#var:duration array piece end}}}}|
    <!--{{#vardefine:is active|true}}-->
  }}{{#vardefine:duration array piece start|{{#time:U|{{#var:duration array piece start}}}}
  }}{{#vardefine:duration array piece end|{{#time:U|{{#var:duration array piece end}}}}
  }}{{#ifexpr:{{#var:duration array piece start}} <= {{#var:duration earliest start|{{#time:U|December 31, 3000}}}}|{{#vardefine:duration earliest start|{{#var:duration array piece start}}}}
  }}{{#ifexpr:{{#var:duration array piece end}} >= {{#var:duration latest end|{{#time:U|December 2nd, 2016}}}}|{{#vardefine:duration latest end|{{#var:duration array piece end}}}}
   }}
   }}
  |{{#vardefine:duration array piece name|Duration
}}{{#if:{{#pos:{{#var:duration array}}|;}}||
  }}{{#vardefine:duration array piece start|
    {{#explode:{{#var:duration array piece}}|->|0}}
  }}{{#vardefine:duration array piece end|
    {{#explode:{{#var:duration array piece}}|->|1}}
  }}{{#if:{{#var:duration array piece start|}}||{{#vardefine:duration array piece start|{{#time:U|December 2nd, 2018}}}}
  }}{{#if:{{#var:duration array piece end|}}||{{#vardefine:duration array piece end|{{#time:U|December 31st, 3000}}}}
  }}
}}{{#if:{{#var:duration}}|
  {{#vardefine:duration|{{#var:duration}};{{#var:duration array piece name}}!{{#time:U|{{#replace:{{#var:duration array piece start}}|@|}}}}->{{#time:U|{{#replace:{{#var:duration array piece end}}|@|}}}}
  |{{#vardefine:duration|{{#var:duration array piece name}}!{{#time:U|{{#replace:{{#var:duration array piece start}}|@|}}}}->{{#time:U|{{#replace:{{#var:duration array piece end}}|@|}}}}
}}{{#ifexpr:{{#time: U|now}} >= {{#time:U|{{#replace:{{#var:duration array piece start}}|@|}}}} and {{#time: U|now}} <= {{#time: U|{{#replace:{{#var:duration array piece end}}|@|}}}}|
  {{#vardefine:is active|true}}
}}}}{{#if:{{#pos:{{#var:duration array}}|;}}||
   {{#vardefine:duration loop|}}
   {{#vardefine:duration loop|}}
}}{{#vardefine:duration array|
}}{{#vardefine:duration array|
   {{#sub:{{#var:duration array}}|{{#expr:{{#pos:{{#var:duration array}}|;}}+1}}}}
   {{#sub:{{#var:duration array}}|{{#expr:{{#pos:{{#var:duration array}}|;}}+1}}}}
}}
}}
}}}}{{#var:duration|}}{{#subobject:event{{#vardefineecho:eventnumber|{{#expr:{{#var:eventnumber|-1}}+1}}}}
}}}}{{#ifeq:{{#var:is active|false}}|true||{{#vardefine:is active|false}}}}{{#subobject:event{{#vardefineecho:eventnumber|{{#expr:{{#var:eventnumber|-1}}+1}}}}
| Has game context = Event
| Has game context = Event
| Has Japanese name ={{{jp name|}}}
| Has Japanese name ={{{jp name|}}}
| Has English name ={{{en name|}}}
| Has English name ={{{en name|}}}
| Has lowercase English name ={{lc:{{{en name|}}}}}
| Has lowercase English name ={{lc:{{{en name|}}}}}
| Has news link = {{{news link|}}}
| Has English subtitle = {{{en subtitle|}}}
| Has Japanese subtitle = {{{jp subtitle|}}}
| Has news link = {{#ifeq:{{#var:is active|}}|true||https://web.archive.org/web/*/|}}{{{news link|}}}
| Has banner image = {{{banner image|}}}
| Has banner image = {{{banner image|}}}
| Has duration date = {{#var:duration|{{{duration|}}}}}
| Has duration date = {{#var:duration|{{{duration|{{#var:event duration|}}}}}}}
| Has event type = {{{type|Time-Limited}}}
| Has event type = {{{type|Time-Limited}}}
| Earliest duration = {{#var:duration earliest start}}
| Latest duration = {{#var:duration latest end}}
| Is active = {{#var:is active}}
| Is active = {{#var:is active}}
}}{{#if:{{#var:is active}}|[[Category:Active events]]|[[Category:Inactive events]]}}
| Has ID = {{{id|}}}
| Has filename = {{#var:event filename|}}
}}{{#ifeq:{{#var:is active|false}}|true|[[Category:Active events]]|[[Category:Inactive events]]}}
}}<!-- end subobject
}}<!-- end subobject
-->{{Event preview infobox
-->{{Event preview infobox
Line 55: Line 68:
| floats = true
| floats = true
| banners = 0
| banners = 0
}}</includeonly><noinclude>
| show news link = yes
== Description ==
}}</includeonly><noinclude>{{Documentation}}</noinclude>
 
This templates creates an infobox for an event, as well as an event subobject using the following properties:
 
* Has Japanese name
* Has English name
* Has news link
* Has banner image
* Has duration date
* Has event type
* Is active
 
== Usage ==
<pre>{{Event infobox
| jp name =
| en name =
| news link =
| banner image =
| duration =
| type =
}}</pre>
 
=== Parameters ===
 
; jp name : Japanese name.
; en name : Translated name, official if jp-en name exists, unofficial if not.
; jp-en name : Unofficial translated name.
; news link : Link to the news post from housamo.info
; banner image : Image(s) for the banners present during the event; separate multiple images using a semicolon.
; duration : The start and end date(s); separate multiples using a semicolon. Name using a !. Separate start and end with -> Please use an ISO-8601 friendly timestamp.
; type : The type of event: Time-Limited if non-event (no event shop, etc.), Full if true event; defaults to Time-Limited
 
== Examples ==
 
<pre>{{Event infobox
| jp name = オリエント・ニューイヤー!
| en name = Oriental New Year!
| news link = https://web.archive.org/web/20180104052030/http://lifewonders2.sakura.ne.jp/wp/newyear2018/
| banner image = 1801お正月-小バナー1-2.png
| duration = Quest!January 4th, 2018 @ 00:00 -> January 20th, 2018 @ 00:00;Gacha!January 4th, 2018 @ 00:00 -> January 27th, 2018 @ 00:00
| type = Limited-Time
}}
</pre>
{{Event infobox
| jp name = オリエント・ニューイヤー!
| en name = Oriental New Year!
| news link = https://web.archive.org/web/20180104052030/http://lifewonders2.sakura.ne.jp/wp/newyear2018/
| banner image = 1801お正月-小バナー1-2.png
| duration = Quest!January 4th, 2018 @ 00:00 -> January 20th, 2018 @ 00:00;Gacha!January 4th, 2018 @ 00:00 -> January 27th, 2018 @ 00:00
| type = Limited-Time
}}
 
[[Category:Infobox templates]][[Category:Subobject templates]]
</noinclude>

Latest revision as of 17:45, 25 April 2021

Template documentation[view] [edit] [history] [purge]

Description

This templates creates an infobox for an event, as well as an event subobject using the following properties:

  • Has Japanese name
  • Has English name
  • Has English subtitle
  • Has Japanese subtitle
  • Has news link
  • Has banner image
  • Has duration date
  • Has event type
  • Earliest duration
  • Latest duration
  • Is active

Usage

{{Event infobox
| jp name = 
| en name = 
| news link =
| banner image = 
| duration = 
| type =
}}

Parameters

jp name
Japanese name.
en name
Translated name, official if jp-en name exists, unofficial if not.
jp-en name
Unofficial translated name.
news link
Link to the news post from housamo.info
banner image
Image(s) for the banners present during the event; separate multiple images using a semicolon.
duration
The start and end date(s); separate multiples using a semicolon. Name using a !. Separate start and end with -> Please use an ISO-8601 friendly timestamp.
type
The type of event: Time-Limited if non-event (no event shop, etc.), Full if true event; defaults to Time-Limited

Examples

{{Event infobox
| jp name = オリエント・ニューイヤー!
| en name = Oriental New Year!
| news link = http://lifewonders2.sakura.ne.jp/wp/newyear2018/
| banner image = 1801お正月-小バナー1-2.png
| duration = Quest!January 4th, 2018 @ 00:00 -> January 20th, 2018 @ 00:00;Gacha!January 4th, 2018 @ 00:00 -> January 27th, 2018 @ 00:00
| type = Limited-Time
}}
Oriental New Year!
News Link
Durations
Quest January 04, 2018 14:00 to January 20, 2018 23:59
Gacha January 04, 2018 14:00 to January 27, 2018 23:59