Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Template:Pagination: Difference between revisions

Template page
>HashJona
add pagination
 
>HashJona
m fix minor bug
Line 1: Line 1:
<includeonly>
<!-- Template:Pagination -->
<div class="category-page__pagination" style="display:flex; justify-content: space-between; width:100%">
<!-- Store the parameters in variables to avoid parser errors -->
 
{{#vardefine:paramName|{{#if:{{{param|}}}|{{{param}}}|offset}}}}
{{#vardefine:paramName|{{#if:{{{param|}}}|{{{param}}}|offset}}}}
{{#vardefine:offsetVal|{{{offset|0}}}}}
{{#vardefine:countVal|{{{count|5}}}}}
{{#vardefine:totalVal|{{{total|0}}}}}


<div>


{{#ifexpr: {{{offset|0}}} > 0
{{#vardefine:prevOffset|
| [{{fullurl:{{FULLPAGENAME}}|{{#var:paramName}}=0}}
  {{#expr:
<span class="wds-button wds-is-text">First</span>]
    ({{#var:offsetVal}} - {{#var:countVal}}) < 0
    ? 0
    : ({{#var:offsetVal}} - {{#var:countVal}})
  }}
}}
{{#vardefine:nextOffset|
  {{#expr: {{#var:offsetVal}} + {{#var:countVal}} }}
}}
{{#vardefine:lastOffset|
  {{#expr:
    floor(({{#var:totalVal}} - 1) / {{#var:countVal}}) * {{#var:countVal}}
  }}
}}
}}


{{#ifexpr: {{{offset|0}}} > 0
<div class="category-page__pagination" style="display:flex; justify-content: space-between; width:100%">
| [{{fullurl:{{FULLPAGENAME}}|
<div>
{{#var:paramName}}={{#expr:
{{#ifexpr: {{#var:offsetVal}} > 0
({{{offset|0}}} - {{{count|5}}}) < 0
  | [{{fullurl:{{FULLPAGENAME}}|{{#var:paramName}}=0}}
? 0
    <span class="wds-button wds-is-text">First</span>]
: ({{{offset|0}}} - {{{count|5}}})
}}
}}
{{#ifexpr: {{#var:offsetVal}} > 0
}}
  | [{{fullurl:{{FULLPAGENAME}}|{{#var:paramName}}={{#var:prevOffset}}}}
<span class="category-page__pagination-prev wds-button wds-is-secondary">&lt; Previous</span>]
    <span class="category-page__pagination-prev wds-button wds-is-secondary">&lt; Previous</span>]
}}
}}
</div>
</div>
<div>
<div>
{{#ifexpr: {{#expr: {{{offset|0}}} + {{{count|5}}} }} < {{{total|0}}}
{{#ifexpr: {{#expr: {{#var:offsetVal}} + {{#var:countVal}} }} < {{#var:totalVal}}
| [{{fullurl:{{FULLPAGENAME}}|
  | [{{fullurl:{{FULLPAGENAME}}|{{#var:paramName}}={{#var:nextOffset}}}}
{{#var:paramName}}={{#expr: {{{offset|0}}} + {{{count|5}}} }}
    <span class="category-page__pagination-prev wds-button wds-is-secondary">Next &gt;</span>]
}}
<span class="category-page__pagination-prev wds-button wds-is-secondary">Next &gt;</span>]
}}
}}
 
{{#ifexpr: {{#expr: {{#var:offsetVal}} + {{#var:countVal}} }} < {{#var:totalVal}}
{{#ifexpr: {{#expr: {{{offset|0}}} + {{{count|5}}} }} < {{{total|0}}}
  | [{{fullurl:{{FULLPAGENAME}}|{{#var:paramName}}={{#var:lastOffset}}}}
| [{{fullurl:{{FULLPAGENAME}}|
    <span class="wds-button wds-is-text">Last</span>]
{{#var:paramName}}={{#expr:
floor(({{{total|0}}} - 1) / {{{count|5}}}) * {{{count|5}}}
}}
}}
<span class="wds-button wds-is-text">Last</span>]
}}
}}
</div>
</div>
</div>
</div>
</includeonly>

Revision as of 22:20, 7 March 2025

{{#vardefine:paramName|offset}} {{#vardefine:offsetVal|0}} {{#vardefine:countVal|5}} {{#vardefine:totalVal|0}}


{{#vardefine:prevOffset|

 Expression error: Unrecognized punctuation character "{".

}} {{#vardefine:nextOffset|

 Expression error: Unrecognized punctuation character "{".

}} {{#vardefine:lastOffset|

 Expression error: Unrecognized punctuation character "{".

}}

Expression error: Unrecognized punctuation character "{". Expression error: Unrecognized punctuation character "{".

Expression error: Unexpected < operator. Expression error: Unexpected < operator.