Difference between revisions of "Template:Shops/TableHeader"

From MHWiki
m (Typo 2)
m (Added captions)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
<noinclude><span style="float: left; margin-right: 0.416em">To use:</span><pre style= "display: contents">{{Shops/TableHeader}}</pre>Optional parameters:
+
<noinclude>In order to use this template, insert '''<code><nowiki>{{Shops/TableHeader}}</nowiki></code>'''.<br>
 +
Please note that sole usage of this '''<code><nowiki>{{Shops/TableHeader}}</nowiki></code>''' template is '''not''' sufficient for generating a full table.<br>
 +
It '''must''' be placed '''above''' various '''<code><nowiki>{{Shops/TableRow/XXX}}</nowiki></code>''' templates, where '''XXX''' represents a shop item.<br>
 +
It '''must''' be placed '''above''' a '''<code><nowiki></table></nowiki></code>''' tag ('''NOT <code><nowiki>|}</nowiki></code>'''!), which is placed '''below''' the  various '''<code><nowiki>{{Shops/TableRow/XXX}}</nowiki></code>''' templates.
 +
 
 +
A mockup of a full table is shown below:<br>
 +
'''<code><nowiki>{{Shops/TableHeader}}</nowiki></code>'''<br>
 +
'''<code><nowiki>{{Shops/TableRow/ABC}}</nowiki></code>'''<br>
 +
'''<code><nowiki>{{Shops/TableRow/XYZ}}</nowiki></code>'''<br>
 +
'''<code><nowiki></table></nowiki></code>'''
 +
----
 +
There are '''no''' mandatory parameters for this template, however, these parameters '''will''' get used when wanting a 5-column table (the default is a 4-column table):
 
  <nowiki>{{Shops/TableHeader
 
  <nowiki>{{Shops/TableHeader
  | Margin                = Defaults to "1em"         if left blank (1em allaround), otherwise as per editor input
+
  | NoteColumn            = Defaults to ""               if left blank (no column), otherwise input "Yes" for the Note column to appear
  | HeaderRowColour        = Defaults to "#dddddd"     if left blank               , otherwise as per editor input
+
  | NoteHeader            = Defaults to ""               if left blank           , otherwise as per editor input
| ItemAlignCenter        = Defaults to "left"        if left blank                , otherwise input "Yes" for "center"
+
}}</nowiki>
| ItemSort              = Defaults to ""            if left blank (sortable)    , otherwise input "No" for "unsortable"
+
The '''<code>NoteColumn</code>''' parameter is the toggle used for adding the 5th column. Note that the input '''must''' be '''Yes''', not yes or anything else.<br>
| ItemHeader            = Defaults to "Item"       if left blank               , otherwise as per editor input
+
The '''<code>NoteHeader</code>''' parameter determines the header title of the 5th column, usually '''Power Type''' (for weapons) or '''Used With''' (for skins).
| NoteColumn            = Defaults to ""            if left blank (no column)   , otherwise input "Yes" for the Note column to appear
+
----
  | NoteAlignLeft          = Defaults to "center"     if left blank               , otherwise input "Yes" for "left"
+
If a caption is desired:
  | NoteSort              = Defaults to ""           if left blank (sortable)    , otherwise input "No" for "unsortable"
+
<nowiki>{{Shops/TableHeader
  | NoteHeader            = Defaults to "Cost"       if left blank               , otherwise as per editor input
+
| Caption              = Defaults to ""               if left blank           , otherwise as per editor input
  | CostAlignLeft          = Defaults to "center"     if left blank               , otherwise input "Yes" for "left"
+
}}</nowiki>
  | CostSort              = Defaults to ""           if left blank (sortable)    , otherwise input "No" for "unsortable"
+
The '''<code>Caption</code>''' parameter determines the caption of the table, usually '''Bases''', '''Weapons''' or '''Skins''' (for the Trapsmith templates).
  | CostHeader            = Defaults to "Cost"        if left blank                , otherwise as per editor input
+
----
| RequirementAlignLeft  = Defaults to "center"     if left blank               , otherwise input "Yes" for "left"
+
Optional parameters for this template include:
  | RequirementSort        = Defaults to ""           if left blank (sortable)    , otherwise input "No" for "unsortable"
+
<nowiki>{{Shops/TableHeader
  | RequirementHeader      = Defaults to "Requirement" if left blank               , otherwise as per editor input
+
  | TableMargin          = Defaults to "1em"           if left blank           , otherwise as per editor input
  | RefundAlignLeft        = Defaults to "center"     if left blank               , otherwise input "Yes" for "left"
+
| TableWidth            = Defaults to "60%" or 75%"   if left blank            , otherwise as per editor input
  | RefundSort            = Defaults to ""           if left blank (sortable)    , otherwise input "No" for "unsortable"
+
  | TableMaxWidth        = Defaults to "60em" or "75em" if left blank           , otherwise as per editor input
  | RefundHeader          = Defaults to "Refund"     if left blank               , otherwise as per editor input
+
  | TableOtherStyle      = Defaults to ""               if left blank           , otherwise as per editor input
}}</nowiki></noinclude><includeonly><table style="margin: {{{Margin|1em}}}" class="sortable b_and_p">
+
  | TableOtherClass      = Defaults to ""               if left blank           , otherwise as per editor input
  <tr style="background-color: {{{HeaderRowColour|#dddddd}}}" class="sticky_table_row">
+
  | TableOtherHTML        = Defaults to ""               if left blank           , otherwise as per editor input
    <th style="text-align: {{ifeq|{{{ItemAlignCenter|}}}|Yes|center|left}}" class="{{ifeq|{{{ItemSort|}}}|No|unsortable|}}">{{{ItemHeader|Item}}}</th>
+
  | CaptionAlignLeft      = Defaults to "center"         if left blank           , otherwise input "Yes" for "left"
    {{ifeq|1={{{NoteColumn|}}}|2=Yes|3=<th style="text-align: {{ifeq|{{{NoteAlignLeft|}}}|Yes|left|center}}" class="{{ifeq|{{{NoteSort|}}}|No|unsortable|}}">{{{NoteHeader|Note}}}</th>|4=}}
+
  | CaptionMargin        = Defaults to ""               if left blank           , otherwise as per editor input
    <th style="text-align: {{ifeq|{{{CostAlignLeft|}}}|Yes|left|center}}" class="{{ifeq|{{{CostSort|}}}|No|unsortable|}}">{{{CostHeader|Cost}}}</th>
+
  | CaptionSize          = Defaults to ""               if left blank           , otherwise as per editor input
    <th style="text-align: {{ifeq|{{{RequirementAlignLeft|}}}|Yes|left|center}}" class="{{ifeq|{{{RequirementSort|}}}|No|unsortable|}}">{{{RequirementHeader|Requirement}}}</th>
+
  | HeaderRowColour      = Defaults to "#dddddd"       if left blank           , otherwise as per editor input
    <th style="text-align: {{ifeq|{{{RefundAlignLeft|}}}|Yes|left|center}}" class="{{ifeq|{{{RefundSort|}}}|No|unsortable|}}">{{{RefundHeader|Refund}}}</th>
+
  | HeaderRowOtherStyle  = Defaults to ""               if left blank           , otherwise as per editor input
 +
  | HeaderRowOtherClass  = Defaults to ""               if left blank           , otherwise as per editor input
 +
| HeaderRowOtherHTML    = Defaults to ""              if left blank            , otherwise as per editor input
 +
| ItemAlignCenter      = Defaults to "left"          if left blank            , otherwise input "Yes" for "center"
 +
| ItemWidth            = Defaults to "25%" or "20%"  if left blank            , otherwise as per editor input
 +
| ItemOtherStyle        = Defaults to ""               if left blank            , otherwise as per editor input
 +
| ItemSort              = Defaults to ""               if left blank (sortable) , otherwise input "No" for "unsortable"
 +
| ItemOtherClass        = Defaults to ""               if left blank            , otherwise as per editor input
 +
| ItemOtherHTML        = Defaults to ""              if left blank            , otherwise as per editor input
 +
| ItemHeader            = Defaults to "Item"           if left blank            , otherwise as per editor input
 +
| NoteAlignLeft         = Defaults to "center"        if left blank            , otherwise input "Yes" for "left"
 +
| NoteWidth            = Defaults to "25%" or "20%"   if left blank            , otherwise as per editor input
 +
| NoteOtherStyle        = Defaults to ""              if left blank            , otherwise as per editor input
 +
| NoteSort              = Defaults to "unsortable"    if left blank            , otherwise input "Yes" for (sortable)
 +
| NoteOtherClass        = Defaults to ""               if left blank            , otherwise as per editor input
 +
| NoteOtherHTML        = Defaults to ""              if left blank            , otherwise as per editor input
 +
| CostAlignLeft        = Defaults to "center"        if left blank            , otherwise input "Yes" for "left"
 +
| CostWidth            = Defaults to "25%" or "20%"  if left blank            , otherwise as per editor input
 +
| CostOtherStyle        = Defaults to ""              if left blank            , otherwise as per editor input
 +
| CostSort              = Defaults to "unsortable"    if left blank            , otherwise input "Yes" for (sortable)
 +
| CostOtherClass        = Defaults to ""              if left blank            , otherwise as per editor input
 +
| CostOtherHTML        = Defaults to ""              if left blank            , otherwise as per editor input
 +
| CostHeader            = Defaults to "Cost"          if left blank            , otherwise as per editor input
 +
| RequirementAlignLeft  = Defaults to "center"        if left blank            , otherwise input "Yes" for "left"
 +
| RequirementWidth      = Defaults to "25%" or "20%"  if left blank            , otherwise as per editor input
 +
| RequirementOtherStyle = Defaults to ""              if left blank            , otherwise as per editor input
 +
| RequirementSort      = Defaults to "unsortable"    if left blank            , otherwise input "Yes" for (sortable)
 +
| RequirementOtherClass = Defaults to ""              if left blank            , otherwise as per editor input
 +
| RequirementOtherHTML  = Defaults to ""              if left blank            , otherwise as per editor input
 +
| RequirementHeader    = Defaults to "Requirement"    if left blank            , otherwise as per editor input
 +
| RefundAlignLeft      = Defaults to "center"        if left blank            , otherwise input "Yes" for "left"
 +
| RefundWidth          = Defaults to "25%" or "20%"  if left blank            , otherwise as per editor input
 +
| RefundOtherStyle      = Defaults to ""              if left blank            , otherwise as per editor input
 +
| RefundSort            = Defaults to "unsortable"    if left blank            , otherwise input "Yes" for (sortable)
 +
| RefundOtherClass      = Defaults to ""              if left blank            , otherwise as per editor input
 +
| RefundOtherHTML      = Defaults to ""              if left blank            , otherwise as per editor input
 +
| RefundHeader          = Defaults to "Refund"        if left blank            , otherwise as per editor input
 +
}}</nowiki>
 +
Should any of them be used very often, it may suggest that a revision to the base template is needed. Please submit a proposal to the other editors and decide if this change should be made.<br>
 +
'''DO NOT''' edit the base template unilaterally as this may cause the transclusion to break down.
 +
----
 +
For easy reference, the code transcluded by the template is:
 +
<nowiki><table style="margin: {{{TableMargin|1em}}}; width: {{ifeq|1={{{NoteColumn|}}}|2=Yes|3={{{TableWidth|75%}}}|4={{{TableWidth|60%}}}}}; max-width: {{ifeq|1={{{NoteColumn|}}}|2=Yes|3={{{TableMaxWidth|75em}}}|4={{{TableMaxWidth|60em}}}}}; {{{TableOtherStyle|}}}" class="sortable b_and_p {{{TableOtherClass|}}}" {{{TableOtherHTML|}}}>
 +
  <caption style="text-align: {{ifeq|{{{CaptionAlignLeft|}}}|Yes|left|center}}; margin: {{{CaptionMargin|}}}; font-size: {{{CaptionSize|}}}">{{{Caption|}}}</caption>
 +
  <tr style="background-color: {{{HeaderRowColour|#dddddd}}}; {{{HeaderRowOtherStyle|}}}" class="sticky_table_row {{{HeaderRowOtherClass|}}}" {{{HeaderRowOtherHTML|}}}>
 +
    <th style="text-align: {{ifeq|{{{ItemAlignCenter|}}}|Yes|center|left}}; width: {{ifeq|1={{{NoteColumn|}}}|2=Yes|3={{{ItemWidth|20%}}}|4={{{ItemWidth|25%}}}}}; {{{ItemOtherStyle|}}}" class="{{ifeq|{{{ItemSort|}}}|No|unsortable|}} {{{ItemOtherClass|}}}" {{{ItemOtherHTML|}}}>{{{ItemHeader|Item}}}</th>
 +
    {{ifeq|1={{{NoteColumn|}}}|2=Yes|3=<th style="text-align: {{ifeq|{{{NoteAlignLeft|}}}|Yes|left|center}}; width: {{{NoteWidth|20%}}}; {{{NoteOtherStyle|}}}" class="{{ifeq|{{{NoteSort|}}}|Yes||unsortable}} {{{NoteOtherClass|}}}" {{{NoteOtherHTML|}}}>{{{NoteHeader|}}}</th>|4=}}
 +
    <th style="text-align: {{ifeq|{{{CostAlignLeft|}}}|Yes|left|center}}; width: {{ifeq|1={{{NoteColumn|}}}|2=Yes|3={{{CostWidth|20%}}}|4={{{CostWidth|25%}}}}}; {{{CostOtherStyle|}}}" class="{{ifeq|{{{CostSort|}}}|Yes||unsortable}} {{{CostOtherClass|}}}" {{{CostOtherHTML|}}}>{{{CostHeader|Cost}}}</th>
 +
    <th style="text-align: {{ifeq|{{{RequirementAlignLeft|}}}|Yes|left|center}}: width: {{ifeq|1={{{NoteColumn|}}}|2=Yes|3={{{RequirementWidth|20%}}}|4={{{RequirementWidth|25%}}}}}; {{{RequirementOtherStyle|}}}" class="{{ifeq|{{{RequirementSort|}}}|Yes||unsortable}} {{{RequirementOtherClass|}}}" {{{RequirementOtherHTML|}}}>{{{RequirementHeader|Requirement}}}</th>
 +
    <th style="text-align: {{ifeq|{{{RefundAlignLeft|}}}|Yes|left|center}}; width: {{ifeq|1={{{NoteColumn|}}}|2=Yes|3={{{RefundWidth|20%}}}|4={{{RefundWidth|25%}}}}}; {{{RefundOtherStyle|}}}" class="{{ifeq|{{{RefundSort|}}}|Yes||unsortable}} {{{RefundOtherClass|}}}" {{{RefundOtherHTML|}}}>{{{RefundHeader|Refund}}}</th>
 +
  </tr></nowiki></noinclude><includeonly><table style="margin: {{{TableMargin|1em}}}; width: {{ifeq|1={{{NoteColumn|}}}|2=Yes|3={{{TableWidth|75%}}}|4={{{TableWidth|60%}}}}}; max-width: {{ifeq|1={{{NoteColumn|}}}|2=Yes|3={{{TableMaxWidth|75em}}}|4={{{TableMaxWidth|60em}}}}}; {{{TableOtherStyle|}}}" class="sortable b_and_p {{{TableOtherClass|}}}" {{{TableOtherHTML|}}}>
 +
  <caption style="text-align: {{ifeq|{{{CaptionAlignLeft|}}}|Yes|left|center}}; margin: {{{CaptionMargin|}}}; font-size: {{{CaptionSize|}}}">{{{Caption|}}}</caption>
 +
  <tr style="background-color: {{{HeaderRowColour|#dddddd}}}; {{{HeaderRowOtherStyle|}}}" class="sticky_table_row {{{HeaderRowOtherClass|}}}" {{{HeaderRowOtherHTML|}}}>
 +
    <th style="text-align: {{ifeq|{{{ItemAlignCenter|}}}|Yes|center|left}}; width: {{ifeq|1={{{NoteColumn|}}}|2=Yes|3={{{ItemWidth|20%}}}|4={{{ItemWidth|25%}}}}}; {{{ItemOtherStyle|}}}" class="{{ifeq|{{{ItemSort|}}}|No|unsortable|}} {{{ItemOtherClass|}}}" {{{ItemOtherHTML|}}}>{{{ItemHeader|Item}}}</th>
 +
    {{ifeq|1={{{NoteColumn|}}}|2=Yes|3=<th style="text-align: {{ifeq|{{{NoteAlignLeft|}}}|Yes|left|center}}; width: {{{NoteWidth|20%}}}; {{{NoteOtherStyle|}}}" class="{{ifeq|{{{NoteSort|}}}|Yes||unsortable}} {{{NoteOtherClass|}}}" {{{NoteOtherHTML|}}}>{{{NoteHeader|}}}</th>|4=}}
 +
    <th style="text-align: {{ifeq|{{{CostAlignLeft|}}}|Yes|left|center}}; width: {{ifeq|1={{{NoteColumn|}}}|2=Yes|3={{{CostWidth|20%}}}|4={{{CostWidth|25%}}}}}; {{{CostOtherStyle|}}}" class="{{ifeq|{{{CostSort|}}}|Yes||unsortable}} {{{CostOtherClass|}}}" {{{CostOtherHTML|}}}>{{{CostHeader|Cost}}}</th>
 +
    <th style="text-align: {{ifeq|{{{RequirementAlignLeft|}}}|Yes|left|center}}: width: {{ifeq|1={{{NoteColumn|}}}|2=Yes|3={{{RequirementWidth|20%}}}|4={{{RequirementWidth|25%}}}}}; {{{RequirementOtherStyle|}}}" class="{{ifeq|{{{RequirementSort|}}}|Yes||unsortable}} {{{RequirementOtherClass|}}}" {{{RequirementOtherHTML|}}}>{{{RequirementHeader|Requirement}}}</th>
 +
    <th style="text-align: {{ifeq|{{{RefundAlignLeft|}}}|Yes|left|center}}; width: {{ifeq|1={{{NoteColumn|}}}|2=Yes|3={{{RefundWidth|20%}}}|4={{{RefundWidth|25%}}}}}; {{{RefundOtherStyle|}}}" class="{{ifeq|{{{RefundSort|}}}|Yes||unsortable}} {{{RefundOtherClass|}}}" {{{RefundOtherHTML|}}}>{{{RefundHeader|Refund}}}</th>
 
   </tr></includeonly>
 
   </tr></includeonly>

Latest revision as of 16:15, 25 May 2022

In order to use this template, insert {{Shops/TableHeader}}.
Please note that sole usage of this {{Shops/TableHeader}} template is not sufficient for generating a full table.
It must be placed above various {{Shops/TableRow/XXX}} templates, where XXX represents a shop item.
It must be placed above a </table> tag (NOT |}!), which is placed below the various {{Shops/TableRow/XXX}} templates.

A mockup of a full table is shown below:
{{Shops/TableHeader}}
{{Shops/TableRow/ABC}}
{{Shops/TableRow/XYZ}}
</table>


There are no mandatory parameters for this template, however, these parameters will get used when wanting a 5-column table (the default is a 4-column table):

{{Shops/TableHeader
 | NoteColumn            = Defaults to ""               if left blank (no column), otherwise input "Yes" for the Note column to appear
 | NoteHeader            = Defaults to ""               if left blank            , otherwise as per editor input
}}

The NoteColumn parameter is the toggle used for adding the 5th column. Note that the input must be Yes, not yes or anything else.
The NoteHeader parameter determines the header title of the 5th column, usually Power Type (for weapons) or Used With (for skins).


If a caption is desired:

{{Shops/TableHeader
 | Caption               = Defaults to ""               if left blank            , otherwise as per editor input
}}

The Caption parameter determines the caption of the table, usually Bases, Weapons or Skins (for the Trapsmith templates).


Optional parameters for this template include:

{{Shops/TableHeader
 | TableMargin           = Defaults to "1em"            if left blank            , otherwise as per editor input
 | TableWidth            = Defaults to "60%" or 75%"    if left blank            , otherwise as per editor input
 | TableMaxWidth         = Defaults to "60em" or "75em" if left blank            , otherwise as per editor input
 | TableOtherStyle       = Defaults to ""               if left blank            , otherwise as per editor input
 | TableOtherClass       = Defaults to ""               if left blank            , otherwise as per editor input
 | TableOtherHTML        = Defaults to ""               if left blank            , otherwise as per editor input
 | CaptionAlignLeft      = Defaults to "center"         if left blank            , otherwise input "Yes" for "left"
 | CaptionMargin         = Defaults to ""               if left blank            , otherwise as per editor input
 | CaptionSize           = Defaults to ""               if left blank            , otherwise as per editor input
 | HeaderRowColour       = Defaults to "#dddddd"        if left blank            , otherwise as per editor input
 | HeaderRowOtherStyle   = Defaults to ""               if left blank            , otherwise as per editor input
 | HeaderRowOtherClass   = Defaults to ""               if left blank            , otherwise as per editor input
 | HeaderRowOtherHTML    = Defaults to ""               if left blank            , otherwise as per editor input
 | ItemAlignCenter       = Defaults to "left"           if left blank            , otherwise input "Yes" for "center"
 | ItemWidth             = Defaults to "25%" or "20%"   if left blank            , otherwise as per editor input
 | ItemOtherStyle        = Defaults to ""               if left blank            , otherwise as per editor input
 | ItemSort              = Defaults to ""               if left blank (sortable) , otherwise input "No" for "unsortable"
 | ItemOtherClass        = Defaults to ""               if left blank            , otherwise as per editor input
 | ItemOtherHTML         = Defaults to ""               if left blank            , otherwise as per editor input
 | ItemHeader            = Defaults to "Item"           if left blank            , otherwise as per editor input
 | NoteAlignLeft         = Defaults to "center"         if left blank            , otherwise input "Yes" for "left"
 | NoteWidth             = Defaults to "25%" or "20%"   if left blank            , otherwise as per editor input
 | NoteOtherStyle        = Defaults to ""               if left blank            , otherwise as per editor input
 | NoteSort              = Defaults to "unsortable"     if left blank            , otherwise input "Yes" for (sortable)
 | NoteOtherClass        = Defaults to ""               if left blank            , otherwise as per editor input
 | NoteOtherHTML         = Defaults to ""               if left blank            , otherwise as per editor input
 | CostAlignLeft         = Defaults to "center"         if left blank            , otherwise input "Yes" for "left"
 | CostWidth             = Defaults to "25%" or "20%"   if left blank            , otherwise as per editor input
 | CostOtherStyle        = Defaults to ""               if left blank            , otherwise as per editor input
 | CostSort              = Defaults to "unsortable"     if left blank            , otherwise input "Yes" for (sortable)
 | CostOtherClass        = Defaults to ""               if left blank            , otherwise as per editor input
 | CostOtherHTML         = Defaults to ""               if left blank            , otherwise as per editor input
 | CostHeader            = Defaults to "Cost"           if left blank            , otherwise as per editor input
 | RequirementAlignLeft  = Defaults to "center"         if left blank            , otherwise input "Yes" for "left"
 | RequirementWidth      = Defaults to "25%" or "20%"   if left blank            , otherwise as per editor input
 | RequirementOtherStyle = Defaults to ""               if left blank            , otherwise as per editor input
 | RequirementSort       = Defaults to "unsortable"     if left blank            , otherwise input "Yes" for (sortable)
 | RequirementOtherClass = Defaults to ""               if left blank            , otherwise as per editor input
 | RequirementOtherHTML  = Defaults to ""               if left blank            , otherwise as per editor input
 | RequirementHeader     = Defaults to "Requirement"    if left blank            , otherwise as per editor input
 | RefundAlignLeft       = Defaults to "center"         if left blank            , otherwise input "Yes" for "left"
 | RefundWidth           = Defaults to "25%" or "20%"   if left blank            , otherwise as per editor input
 | RefundOtherStyle      = Defaults to ""               if left blank            , otherwise as per editor input
 | RefundSort            = Defaults to "unsortable"     if left blank            , otherwise input "Yes" for (sortable)
 | RefundOtherClass      = Defaults to ""               if left blank            , otherwise as per editor input
 | RefundOtherHTML       = Defaults to ""               if left blank            , otherwise as per editor input
 | RefundHeader          = Defaults to "Refund"         if left blank            , otherwise as per editor input
}}

Should any of them be used very often, it may suggest that a revision to the base template is needed. Please submit a proposal to the other editors and decide if this change should be made.
DO NOT edit the base template unilaterally as this may cause the transclusion to break down.


For easy reference, the code transcluded by the template is:

<table style="margin: {{{TableMargin|1em}}}; width: {{ifeq|1={{{NoteColumn|}}}|2=Yes|3={{{TableWidth|75%}}}|4={{{TableWidth|60%}}}}}; max-width: {{ifeq|1={{{NoteColumn|}}}|2=Yes|3={{{TableMaxWidth|75em}}}|4={{{TableMaxWidth|60em}}}}}; {{{TableOtherStyle|}}}" class="sortable b_and_p {{{TableOtherClass|}}}" {{{TableOtherHTML|}}}>
  <caption style="text-align: {{ifeq|{{{CaptionAlignLeft|}}}|Yes|left|center}}; margin: {{{CaptionMargin|}}}; font-size: {{{CaptionSize|}}}">{{{Caption|}}}</caption>
  <tr style="background-color: {{{HeaderRowColour|#dddddd}}}; {{{HeaderRowOtherStyle|}}}" class="sticky_table_row {{{HeaderRowOtherClass|}}}" {{{HeaderRowOtherHTML|}}}>
    <th style="text-align: {{ifeq|{{{ItemAlignCenter|}}}|Yes|center|left}}; width: {{ifeq|1={{{NoteColumn|}}}|2=Yes|3={{{ItemWidth|20%}}}|4={{{ItemWidth|25%}}}}}; {{{ItemOtherStyle|}}}" class="{{ifeq|{{{ItemSort|}}}|No|unsortable|}} {{{ItemOtherClass|}}}" {{{ItemOtherHTML|}}}>{{{ItemHeader|Item}}}</th>
    {{ifeq|1={{{NoteColumn|}}}|2=Yes|3=<th style="text-align: {{ifeq|{{{NoteAlignLeft|}}}|Yes|left|center}}; width: {{{NoteWidth|20%}}}; {{{NoteOtherStyle|}}}" class="{{ifeq|{{{NoteSort|}}}|Yes||unsortable}} {{{NoteOtherClass|}}}" {{{NoteOtherHTML|}}}>{{{NoteHeader|}}}</th>|4=}}
    <th style="text-align: {{ifeq|{{{CostAlignLeft|}}}|Yes|left|center}}; width: {{ifeq|1={{{NoteColumn|}}}|2=Yes|3={{{CostWidth|20%}}}|4={{{CostWidth|25%}}}}}; {{{CostOtherStyle|}}}" class="{{ifeq|{{{CostSort|}}}|Yes||unsortable}} {{{CostOtherClass|}}}" {{{CostOtherHTML|}}}>{{{CostHeader|Cost}}}</th>
    <th style="text-align: {{ifeq|{{{RequirementAlignLeft|}}}|Yes|left|center}}: width: {{ifeq|1={{{NoteColumn|}}}|2=Yes|3={{{RequirementWidth|20%}}}|4={{{RequirementWidth|25%}}}}}; {{{RequirementOtherStyle|}}}" class="{{ifeq|{{{RequirementSort|}}}|Yes||unsortable}} {{{RequirementOtherClass|}}}" {{{RequirementOtherHTML|}}}>{{{RequirementHeader|Requirement}}}</th>
    <th style="text-align: {{ifeq|{{{RefundAlignLeft|}}}|Yes|left|center}}; width: {{ifeq|1={{{NoteColumn|}}}|2=Yes|3={{{RefundWidth|20%}}}|4={{{RefundWidth|25%}}}}}; {{{RefundOtherStyle|}}}" class="{{ifeq|{{{RefundSort|}}}|Yes||unsortable}} {{{RefundOtherClass|}}}" {{{RefundOtherHTML|}}}>{{{RefundHeader|Refund}}}</th>
  </tr>