Difference between revisions of "Template:Card table"
(Infobox updated using the portable infobox migration tool) |
(This does not work at all and completely breaks the pages. Reverting.) |
||
Line 1: | Line 1: | ||
− | < | + | {{ #if: {{{header16|}}}{{{headerstyle16|}}}{{{label16|}}}{{{labelstyle16|}}}{{{data16|}}}{{{datastyle16|}}}{{{class16|}}}{{{rowclass16|}}} |
− | </ | + | | <div class="error">Error: too many rows!</div>[[Category:Card table transclusions with too many rows]] |
− | < | + | }}{{ #if: {{{image_raw|}}} || {{ #vardefine: $ct_img | {{ #if: {{{image|}}} | {{PAGENAME:{{{image}}}}} | Back-EN.png }} |
− | + | }}{{ #vardefine: $ct_max_width | {{px|{{{max_width}}}}} | |
− | + | }}{{ #vardefine: $ct_max_width | {{ #iferror: {{ #ifexpr: {{ #var: $ct_max_width }} > 400 | 400 | {{ #var: $ct_max_width }} }} | 200 }} | |
+ | }}{{ #vardefine: $ct_width | {{px|{{{width}}}}} | ||
+ | }}{{ #vardefine: $ct_width | {{ #iferror: {{ #ifexpr: {{ #var: $ct_width }} > 0 }} | {{ #imgw: {{ #var: $ct_img }} }} | {{ #var: $ct_width }} }} | ||
+ | }}{{ #vardefine: $ct_width | {{ #ifexpr: {{ #var: $ct_width }} < {{ #var: $ct_max_width }} | {{ #var: $ct_width }} | {{ #var: $ct_max_width }} }} | ||
+ | }}{{ #if: {{{image_right|}}} | ||
+ | | {{ #vardefine: $ct_img_right | {{PAGENAME:{{{image_right}}}}} | ||
+ | }}{{ #vardefine: $ct_max_width_right | {{px|{{{max_width_right}}}}} | ||
+ | }}{{ #vardefine: $ct_max_width_right | {{ #iferror: {{ #ifexpr: {{ #var: $ct_max_width_right }} > 400 | 400 | {{ #var: $ct_max_width_right }} }} | 200 }} | ||
+ | }}{{ #vardefine: $ct_width_right | {{px|{{{width_right}}}}} | ||
+ | }}{{ #vardefine: $ct_width_right | {{ #iferror: {{ #ifexpr: {{ #var: $ct_width_right }} > 0 }} | {{ #imgw: {{ #var: $ct_img_right }} }} | {{ #var: $ct_width_right }} }} | ||
+ | }}{{ #vardefine: $ct_width_right | {{ #ifexpr: {{ #var: $ct_width_right }} < {{ #var: $ct_max_width_right }} | {{ #var: $ct_width_right }} | {{ #var: $ct_max_width_right }} }} | ||
+ | }} | ||
+ | }} | ||
+ | }}<!-- | ||
− | < | + | --><div {{ #if: {{ #var: $first_card_table }} || id="main-card-table" }} class="card-table {{ #if: {{{bodyclass|}}} | {{{bodyclass}}} | blank-card }}" style="{{{bodystyle|}}}"> |
− | {{ | + | {{ #if: {{{title<includeonly>|</includeonly>}}} | |
+ | <div class="heading {{{titleclass|}}}" style="{{{titlestyle|}}}"><div>{{{title}}}</div></div> | ||
}} | }} | ||
− | + | {{ #if: {{{above<includeonly>|</includeonly>}}} | <div class="above">{{{above}}}</div> }} | |
− | </ | + | <div class="card-table-columns"> |
− | + | <div class="imagecolumn" data-max_width="{{ #var: $ct_max_width }}">{{ #if: {{{image_raw|}}} | |
− | + | | {{{image_raw}}} | |
− | + | | {{ #if: {{{above_image<includeonly>|</includeonly>}}} | <div class="aboveimage"> | |
− | {{ | + | {{{above_image}}}</div> }}<div class="cardtable-main_image-wrapper">[[File:{{ #var: $ct_img }}|link=File:{{ #var: $ct_img }}|{{ #var: $ct_width }}px]]{{ #if: {{{image_right|}}} |
− | }} | + | | [[File:{{ #var: $ct_img_right }}|link=File:{{ #var: $ct_img_right }}|{{ #var: $ct_width_right }}px]] |
− | + | }}</div> | |
− | + | }}{{ #if: {{{below_image<includeonly>|</includeonly>}}} | <div class="belowimage hlist"> | |
− | + | {{{below_image}}}</div> }} | |
− | </noinclude> | + | </div> |
+ | <div class="infocolumn"> | ||
+ | <table class="innertable"> | ||
+ | {{Infobox/row | ||
+ | |header={{{header1|}}} |headerstyle={{{headerstyle|}}}{{{headerstyle1|}}} | ||
+ | |label={{{label1<includeonly>|</includeonly>}}} |labelstyle={{{labelstyle|}}} {{{labelstyle1|}}} | ||
+ | |data={{{data1<includeonly>|</includeonly>}}} |datastyle={{{datastyle|}}} {{{datastyle1|}}} | ||
+ | |class={{{class1|}}} |rowclass={{{rowclass1|}}} | ||
+ | }}{{Infobox/row | ||
+ | |header={{{header2|}}} |headerstyle={{{headerstyle|}}}{{{headerstyle2|}}} | ||
+ | |label={{{label2|}}} |labelstyle={{{labelstyle|}}} {{{labelstyle2|}}} | ||
+ | |data={{{data2|}}} |datastyle={{{datastyle|}}} {{{datastyle2|}}} | ||
+ | |class={{{class2|}}} |rowclass={{{rowclass2|}}} | ||
+ | }}{{Infobox/row | ||
+ | |header={{{header3|}}} |headerstyle={{{headerstyle|}}}{{{headerstyle3|}}} | ||
+ | |label={{{label3|}}} |labelstyle={{{labelstyle|}}} {{{labelstyle3|}}} | ||
+ | |data={{{data3|}}} |datastyle={{{datastyle|}}} {{{datastyle3|}}} | ||
+ | |class={{{class3|}}} |rowclass={{{rowclass3|}}} | ||
+ | }}{{Infobox/row | ||
+ | |header={{{header4|}}} |headerstyle={{{headerstyle|}}}{{{headerstyle4|}}} | ||
+ | |label={{{label4|}}} |labelstyle={{{labelstyle|}}} {{{labelstyle4|}}} | ||
+ | |data={{{data4|}}} |datastyle={{{datastyle|}}} {{{datastyle4|}}} | ||
+ | |class={{{class4|}}} |rowclass={{{rowclass4|}}} | ||
+ | }}{{Infobox/row | ||
+ | |header={{{header5|}}} |headerstyle={{{headerstyle|}}}{{{headerstyle5|}}} | ||
+ | |label={{{label5|}}} |labelstyle={{{labelstyle|}}} {{{labelstyle5|}}} | ||
+ | |data={{{data5|}}} |datastyle={{{datastyle|}}} {{{datastyle5|}}} | ||
+ | |class={{{class5|}}} |rowclass={{{rowclass5|}}} | ||
+ | }}{{Infobox/row | ||
+ | |header={{{header6|}}} |headerstyle={{{headerstyle|}}}{{{headerstyle6|}}} | ||
+ | |label={{{label6|}}} |labelstyle={{{labelstyle|}}} {{{labelstyle6|}}} | ||
+ | |data={{{data6|}}} |datastyle={{{datastyle|}}} {{{datastyle6|}}} | ||
+ | |class={{{class6|}}} |rowclass={{{rowclass6|}}} | ||
+ | }}{{Infobox/row | ||
+ | |header={{{header7|}}} |headerstyle={{{headerstyle|}}}{{{headerstyle7|}}} | ||
+ | |label={{{label7|}}} |labelstyle={{{labelstyle|}}} {{{labelstyle7|}}} | ||
+ | |data={{{data7|}}} |datastyle={{{datastyle|}}} {{{datastyle7|}}} | ||
+ | |class={{{class7|}}} |rowclass={{{rowclass7|}}} | ||
+ | }}{{Infobox/row | ||
+ | |header={{{header8|}}} |headerstyle={{{headerstyle|}}}{{{headerstyle8|}}} | ||
+ | |label={{{label8|}}} |labelstyle={{{labelstyle|}}} {{{labelstyle8|}}} | ||
+ | |data={{{data8|}}} |datastyle={{{datastyle|}}} {{{datastyle8|}}} | ||
+ | |class={{{class8|}}} |rowclass={{{rowclass8|}}} | ||
+ | }}{{Infobox/row | ||
+ | |header={{{header9|}}} |headerstyle={{{headerstyle|}}}{{{headerstyle9|}}} | ||
+ | |label={{{label9|}}} |labelstyle={{{labelstyle|}}} {{{labelstyle9|}}} | ||
+ | |data={{{data9|}}} |datastyle={{{datastyle|}}} {{{datastyle9|}}} | ||
+ | |class={{{class9|}}} |rowclass={{{rowclass9|}}} | ||
+ | }}{{Infobox/row | ||
+ | |header={{{header10|}}} |headerstyle={{{headerstyle|}}}{{{headerstyle10|}}} | ||
+ | |label={{{label10|}}} |labelstyle={{{labelstyle|}}} {{{labelstyle10|}}} | ||
+ | |data={{{data10|}}} |datastyle={{{datastyle|}}} {{{datastyle10|}}} | ||
+ | |class={{{class10|}}} |rowclass={{{rowclass10|}}} | ||
+ | }}{{Infobox/row | ||
+ | |header={{{header11|}}} |headerstyle={{{headerstyle|}}}{{{headerstyle11|}}} | ||
+ | |label={{{label11|}}} |labelstyle={{{labelstyle|}}} {{{labelstyle11|}}} | ||
+ | |data={{{data11|}}} |datastyle={{{datastyle|}}} {{{datastyle11|}}} | ||
+ | |class={{{class11|}}} |rowclass={{{rowclass11|}}} | ||
+ | }}{{Infobox/row | ||
+ | |header={{{header12|}}} |headerstyle={{{headerstyle|}}}{{{headerstyle12|}}} | ||
+ | |label={{{label12|}}} |labelstyle={{{labelstyle|}}} {{{labelstyle12|}}} | ||
+ | |data={{{data12|}}} |datastyle={{{datastyle|}}} {{{datastyle12|}}} | ||
+ | |class={{{class12|}}} |rowclass={{{rowclass12|}}} | ||
+ | }}{{Infobox/row | ||
+ | |header={{{header13|}}} |headerstyle={{{headerstyle|}}}{{{headerstyle13|}}} | ||
+ | |label={{{label13|}}} |labelstyle={{{labelstyle|}}} {{{labelstyle13|}}} | ||
+ | |data={{{data13|}}} |datastyle={{{datastyle|}}} {{{datastyle13|}}} | ||
+ | |class={{{class13|}}} |rowclass={{{rowclass13|}}} | ||
+ | }}{{Infobox/row | ||
+ | |header={{{header14|}}} |headerstyle={{{headerstyle|}}}{{{headerstyle14|}}} | ||
+ | |label={{{label14|}}} |labelstyle={{{labelstyle|}}} {{{labelstyle14|}}} | ||
+ | |data={{{data14|}}} |datastyle={{{datastyle|}}} {{{datastyle14|}}} | ||
+ | |class={{{class14|}}} |rowclass={{{rowclass14|}}} | ||
+ | }}{{Infobox/row | ||
+ | |header={{{header15|}}} |headerstyle={{{headerstyle|}}}{{{headerstyle15|}}} | ||
+ | |label={{{label15|}}} |labelstyle={{{labelstyle|}}} {{{labelstyle15|}}} | ||
+ | |data={{{data15|}}} |datastyle={{{datastyle|}}} {{{datastyle15|}}} | ||
+ | |class={{{class15|}}} |rowclass={{{rowclass15|}}} | ||
+ | }} | ||
+ | </table> | ||
+ | </div> | ||
+ | </div> | ||
+ | {{ #if: {{{below<includeonly>|</includeonly>}}} | <div class="below {{{belowclass|}}}">{{{below}}}</div> }} | ||
+ | </div>{{<!-- sortkey when desired --> | ||
+ | #if: {{ #var: $defaultsort }}<!-- don't bother with any of this if we've already set DEFAULTSORT --> | ||
+ | || {{ #if: {{{defaultsort|}}}<!-- parameter overrides automatic sortkey --> | ||
+ | | {{ #vardefine: $defaultsort | {{{defaultsort}}} }} | ||
+ | | {{ #vardefine: $ds-pagename | {{Normalized pagename}} }}{{ #vardefine: $defaultsort | ||
+ | | {{ #ifeq: {{ #explode: {{ #var: $ds-pagename }} }} | A <!-- cards whose name starts with the article "A" --> | ||
+ | | {{ #sub: {{ #var: $ds-pagename }} | 2 }} | ||
+ | | {{ #ifeq: {{ #explode: {{ #var: $ds-pagename }} }} | An <!-- cards whose name starts with the article "An" --> | ||
+ | | {{ #sub: {{ #var: $ds-pagename }} | 3 }} | ||
+ | | {{ #ifeq: {{ #explode: {{ #var: $ds-pagename }} }} | The <!-- cards whose name starts with the article "The" --> | ||
+ | | {{ #if: {{ #pos: {{ #var: $ds-pagename }} | The Agent }}{{ #pos: {{ #var: $ds-pagename }} | The Fabled }} | ||
+ | | none <!-- ...except for "The Agent" and "The Fabled" cards --> | ||
+ | | {{ #sub: {{ #var: $ds-pagename }} | 4 }} | ||
+ | }} | ||
+ | | {{ <!-- now make Number cards use natural sorting order --> | ||
+ | #if: {{and|{{ #ifeq: {{ #explode: {{ #var: $ds-pagename }} }} | Number | 1 }}|{{ #pos: {{ #var: $ds-pagename }} | : }}}} | ||
+ | | Number {{ #if: {{ #pos: {{ #var: $ds-pagename }} | Number C }} | ||
+ | | C{{ padleft: {{ #replace: {{ #explode: {{ #var: $ds-pagename }} || 1 }} | C }} | 6 }} | ||
+ | | {{ #if: {{ #pos: {{ #var: $ds-pagename }} | Number F }} | ||
+ | | F{{ padleft: {{ #replace: {{ #explode: {{ #var: $ds-pagename }} || 1 }} | F }} | 6 }} | ||
+ | | {{ padleft: {{ #explode: {{ #var: $ds-pagename }} || 1 }} | 6 }} | ||
+ | }} | ||
+ | }}{{ #explode: {{ #var: $ds-pagename }} | : | 1 }} | ||
+ | | {{ <!-- and New Order cards --> | ||
+ | #if: {{ #pos: {{ #var: $ds-pagename }} | New Order }} | ||
+ | | New Order {{ padleft: {{ #explode: {{ #var: $ds-pagename }} || 2 }} | 6 }} | ||
+ | | none | ||
+ | }} | ||
+ | }} | ||
+ | }} | ||
+ | }} | ||
+ | }} | ||
+ | }} | ||
+ | }}{{ #ifeq: {{ #var: $defaultsort }} | none || {{DEFAULTSORT:{{ #var: $defaultsort }}}} }} | ||
+ | }}{{ #if: {{ #var: $first_card_table }}<!-- only add categories/properties on the first transclusion --> | ||
+ | || {{ #if: {{NAMESPACE}} | ||
+ | | <!-- non-mainspace categories here -->{{ #ifeq: {{ns:template}}:{{BASEPAGENAME}} | {{FULLPAGENAME}} | [[Category:Card table templates]] }} | ||
+ | | {{ #ifexist: Card Gallery:{{ #var: $main | {{Normalized pagename|{{PAGENAME}}}} }} | ||
+ | || [[Category:Cards that need a gallery]] | ||
+ | }}[[Page name::{{Normalized pagename|{{FULLPAGENAME}}}}| ]][[Page type::Card page| ]] | ||
+ | }} | ||
+ | }}{{ #vardefine: $first_card_table | 1 }}<noinclude>{{Documentation}}</noinclude> |
Revision as of 10:59, 13 November 2017
This template uses Lua: |
{{Card table}} is a metatemplate used to create card table templates.
Usage
Example
{{Card table | title = {{ #if: {{{title|}}} | {{{title}}} | {{PAGENAME}} }} | image = {{ #if: {{{image|}}} | {{{image}}} | Back-EN.png }} | label1 = [[Attribute]] | data1 = [[{{uc:{{{attribute}}}}}]] [[File:{{uc:{{{attribute}}}}}.svg|25px|alt=]] | label2 = [[Level]] | data2 = {{{level}}} {{Repeat|[[File:CG Star.svg|18px|alt=]]|{{{level}}}}} | label3 = [[Type|Type(s)]] | data3 = {{Card table/types|{{{types}}}|{{{effect_types|}}}|linked}} | label4 = [[ATK]]/[[DEF]] | data4 = {{{atk}}}/{{{def}}} | data5 = <div class="lore">{{{lore}}}</div> | label6 = Effect types | data6 = {{{effect types|}}} | label7 = Status | data7 = {{{status}}} }}