5371
правка
Изменения
Рефакторинг: больше не требуется вручную задавать и потом контролировать границы выборки всех игр через #ask.
<div style="display: none;">
{{#arraydefine:aGames}}
{{#arrayprintloop:aPartsiLoop | 0 |@@@@{{#var:iLoops}} |{{#arraydefine:aTemp| {{#ask: [[Категория:Игры]] [[Название::+]] [[Тема::+]] | limit=500 | link=none | offset=@@@@ {{#expr: {{#var:iLoop}}*500}} | searchlabel= | sep=SUPERMEGADELIMITER }} |SUPERMEGADELIMITER}}
{{#arraymerge:aGames|aGames|aTemp}}
}}
{{#arraydefine:aThemes}}
<!-- Ниже используется #arrayprint вместо #loop, потому что не хватает стандартного лимита максимального количества тактов цикла. -->
{{#arrayprint:aGames| |@@@@|
{{#arraydefine:aTemp| {{#show: @@@@ | ?Тема | link=none }} }}
{{#arraysort:aThemes|asc}}
{{#vardefine:iAllGames| {{#ask: [[Категория:Игры]] [[Название::+]] | format=count }} }}
</div>{{#ifeq: {{#expr: {{#ask: [[Категория:Игры]] [[Тема::+]] | format=count }} > {{#arrayindex:aParts|-1}} + 500}} | 1 | '''Внимание! Данные в таблице некорректны. Требуется отредактировать [[:Шаблон:Игры по темам|шаблон]], внеся изменения в массив aParts.''' | }}
{| class="wikitable sortable"
! data-sort-type="text" | Тема
{{#arrayprint:aThemes| |@@@@| {{Игры по темам строка|@@@@| {{#var:iAllGames}} }} }}
! [[:Категория:Игры без тем|(Без тем)]]
| {{#vardefine:iGamesWithoutThemes| {{#expr: {{#var:iAllGames}} - {{#arraysizevar:aGamesiGamesWithThemes}} }} }}{{#var:iGamesWithoutThemes}}
| {{formatnum:{{#expr: {{#var:iGamesWithoutThemes}} / {{#var:iAllGames}} * 100 round 2 }}}}%
|-