Difference between revisions of "Template:Shops/TableHeader"

From MHWiki
(Created Template:Shops/TableHeader)
 
m (Added captions)
 
(6 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 (those bolded will be of particular interest):
+
<noinclude>In order to use this template, insert '''<code><nowiki>{{Shops/TableHeader}}</nowiki></code>'''.<br>
<nowiki>{{ShopsTableHeader
+
Please note that sole usage of this '''<code><nowiki>{{Shops/TableHeader}}</nowiki></code>''' template is '''not''' sufficient for generating a full table.<br>
| Margin                = Defaults to "1em"        if left blank (1em allaround), otherwise as per editor input
+
It '''must''' be placed '''above''' various '''<code><nowiki>{{Shops/TableRow/XXX}}</nowiki></code>''' templates, where '''XXX''' represents a shop item.<br>
| HeaderRowColour        = Defaults to "#dddddd"    if left blank                , otherwise as per editor input
+
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.
| ItemAlignCenter        = Defaults to "left"        if left blank                , otherwise input "Yes" for "center"
+
 
  | ItemSort              = Defaults to ""            if left blank (sortable)    , otherwise input "No" for "unsortable"
+
A mockup of a full table is shown below:<br>
| ItemHeader            = Defaults to "Item"        if left blank                , otherwise as per editor input
+
'''<code><nowiki>{{Shops/TableHeader}}</nowiki></code>'''<br>
| NoteColumn            = Defaults to ""            if left blank (no column)    , otherwise input "Yes" for the Note column to appear
+
'''<code><nowiki>{{Shops/TableRow/ABC}}</nowiki></code>'''<br>
| NoteAlignLeft          = Defaults to "center"      if left blank                , otherwise input "Yes" for "left"
+
'''<code><nowiki>{{Shops/TableRow/XYZ}}</nowiki></code>'''<br>
| NoteSort              = Defaults to ""            if left blank (sortable)    , otherwise input "No" for "unsortable"
+
'''<code><nowiki></table></nowiki></code>'''
| NoteHeader            = Defaults to "Cost"        if left blank                , otherwise as per editor input
+
----
| CostAlignLeft          = Defaults to "center"      if left blank                , otherwise input "Yes" for "left"
+
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):
  | CostSort              = Defaults to ""           if left blank (sortable)     , otherwise input "No" for "unsortable"
+
<nowiki>{{Shops/TableHeader
  | CostHeader            = Defaults to "Cost"       if left blank               , otherwise as per editor input
+
  | NoteColumn            = Defaults to ""               if left blank (no column), otherwise input "Yes" for the Note column to appear
| RequirementAlignLeft  = Defaults to "center"      if left blank                , otherwise input "Yes" for "left"
+
  | NoteHeader            = Defaults to ""               if left blank           , otherwise as per editor input
| RequirementSort        = Defaults to ""            if left blank (sortable)     , otherwise input "No" for "unsortable"
+
}}</nowiki>
  | RequirementHeader      = Defaults to "Requirement" if left blank               , otherwise as per editor input
+
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>
| RefundAlignLeft        = Defaults to "center"      if left blank                , otherwise input "Yes" for "left"
+
The '''<code>NoteHeader</code>''' parameter determines the header title of the 5th column, usually '''Power Type''' (for weapons) or '''Used With''' (for skins).
  | RefundSort            = Defaults to ""            if left blank (sortable)    , otherwise input "No" for "unsortable"
+
----
  | RefundHeader          = Defaults to "Refund"     if left blank               , otherwise as per editor input
+
If a caption is desired:
}}</nowiki></noinclude><includeonly><table style="margin: {{{Margin|1em}}}" class="sortable b_and_p">
+
<nowiki>{{Shops/TableHeader
  <tr style="background-color: {{{HeaderRowColour|#dddddd}}}" class="sticky_table_row">
+
  | Caption              = 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>
+
}}</nowiki>
    {{ifeq|1={{{NoteColumn|}}}|2=Yes|3=<th style="text-align: {{ifeq|{{{NoteAlignLeft|}}}|Yes|left|center}}" class="{{ifeq|{{{NoteSort|}}}|No|unsortable|}}">{{{NoteHeader|Note}}}</th>|4=}}
+
The '''<code>Caption</code>''' parameter determines the caption of the table, usually '''Bases''', '''Weapons''' or '''Skins''' (for the Trapsmith templates).
    <th style="text-align: {{ifeq|{{{CostAlignLeft|}}}|Yes|left|center}}" class="{{ifeq|{{{CostSort|}}}|No|unsortable|}}">{{{CostHeader|Cost}}}</th>
+
----
    <th style="text-align: {{ifeq|{{{RequirementAlignLeft|}}}|Yes|left|center}}" class="{{ifeq|{{{RequirementSort|}}}|No|unsortable|}}">{{{RequirementHeader|Requirement}}}</th>
+
Optional parameters for this template include:
    <th style="text-align: {{ifeq|{{{RefundAlignLeft|}}}|Yes|left|center}}" class="{{ifeq|{{{RefundSort|}}}|No|unsortable|}}">{{{RefundHeader|Refund}}}</th>
+
  <nowiki>{{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
 +
}}</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>