Шаблон:День в истории: различия между версиями

Материал из IFВики
Перейти к навигации Перейти к поиску
(Исключение игр с тематикой 18+)
(Рефакторинг: отрисовка длинного списка игр со спойлером в один, а не два прохода цикла.)
Строка 68: Строка 68:
 
<ul>
 
<ul>
 
{{#arrayprint:aGames| |@@@@|{{#vardefine:iCounterGames| {{#expr: {{#var:iCounterGames}} + 1}} }}
 
{{#arrayprint:aGames| |@@@@|{{#vardefine:iCounterGames| {{#expr: {{#var:iCounterGames}} + 1}} }}
{{#ifeq: {{#expr: {{#var:iCounterGames}} <= {{#var:iLimitGames}} }} | 1 |
+
{{#ifeq: {{#var:iCounterGames}} | {{#expr: {{#var:iLimitGames}} + 1}} |
{{#arraydefine:aTemp|{{#show: @@@@ | ?Дата }}|,}}
 
{{#ifeq: {{#expr: {{#arraysize:aTemp}} > 1}} | 1
 
|<li>1 из {{#arraysize:aTemp}} {{plural:{{#arraysize:aTemp}}|релиза|релизов|релизов}} [[@@@@|{{#show: @@@@ | ?Название }}]] ({{#show: @@@@ | ?Автор | link=none }} — {{#show: @@@@ | ?Платформа | link=none }})</li>
 
|{{#arraydefine:aDate|{{#show: @@@@ | ?Дата }}| {{#var:sCurrentMonthNameGen}} }}
 
{{#vardefine:iAge| {{#expr: {{CURRENTYEAR}} - {{#arrayindex:aDate|1}} }} }}
 
<li>'''{{#arrayindex:aDate|1}}''' ({{#var:iAge}} {{plural:{{#var:iAge}}|год назад|года назад|лет назад}}) [[@@@@|{{#show: @@@@ | ?Название }}]] ({{#show: @@@@ | ?Автор | link=none }} — {{#show: @@@@ | ?Платформа | link=none }})</li>
 
}}
 
| }}
 
}}
 
 
</ul>
 
</ul>
 
<div data-expandtext="Показать {{plural:{{#var:iOtherGames}}|остальную {{#var:iOtherGames}} игру|остальные {{#var:iOtherGames}} игры|остальные {{#var:iOtherGames}} игр}}" data-collapsetext="Спрятать {{plural:{{#var:iOtherGames}}|остальную {{#var:iOtherGames}} игру|остальные {{#var:iOtherGames}} игры|остальные {{#var:iOtherGames}} игр}}" class="toccolours mw-collapsible mw-collapsed" style="margin: auto 1em; overflow:auto;">
 
<div data-expandtext="Показать {{plural:{{#var:iOtherGames}}|остальную {{#var:iOtherGames}} игру|остальные {{#var:iOtherGames}} игры|остальные {{#var:iOtherGames}} игр}}" data-collapsetext="Спрятать {{plural:{{#var:iOtherGames}}|остальную {{#var:iOtherGames}} игру|остальные {{#var:iOtherGames}} игры|остальные {{#var:iOtherGames}} игр}}" class="toccolours mw-collapsible mw-collapsed" style="margin: auto 1em; overflow:auto;">
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
{{#vardefine:iCounterGames|0}}
 
 
<ul>
 
<ul>
{{#arrayprint:aGames| |@@@@|{{#vardefine:iCounterGames| {{#expr: {{#var:iCounterGames}} + 1}} }}
+
| }}
{{#ifeq: {{#expr: {{#var:iCounterGames}} > {{#var:iLimitGames}} }} | 1 |
 
 
{{#arraydefine:aTemp|{{#show: @@@@ | ?Дата }}|,}}
 
{{#arraydefine:aTemp|{{#show: @@@@ | ?Дата }}|,}}
 
{{#ifeq: {{#expr: {{#arraysize:aTemp}} > 1}} | 1
 
{{#ifeq: {{#expr: {{#arraysize:aTemp}} > 1}} | 1
Строка 92: Строка 81:
 
<li>'''{{#arrayindex:aDate|1}}''' ({{#var:iAge}} {{plural:{{#var:iAge}}|год назад|года назад|лет назад}}) [[@@@@|{{#show: @@@@ | ?Название }}]] ({{#show: @@@@ | ?Автор | link=none }} — {{#show: @@@@ | ?Платформа | link=none }})</li>
 
<li>'''{{#arrayindex:aDate|1}}''' ({{#var:iAge}} {{plural:{{#var:iAge}}|год назад|года назад|лет назад}}) [[@@@@|{{#show: @@@@ | ?Название }}]] ({{#show: @@@@ | ?Автор | link=none }} — {{#show: @@@@ | ?Платформа | link=none }})</li>
 
}}
 
}}
| }}
 
 
}}
 
}}
 
</ul>
 
</ul>

Версия 15:18, 6 мая 2019

Шаблон, отображающий информацию о различных исторических событиях на конкретную дату. Показывает первые релизы проектов (свойство "Дата первого релиза"), релизы игр (свойство "Дата") и дни рождения (свойство "День рождения"), приходящиеся на заданный день года. В качестве необязательного аргумента может принимать дату в формате ДД.ММ, например, {{День в истории|13.09}}, информацию по которой надо показать. Без указания даты отображает информацию для текущего дня согласно настройкам сервера.

Примечание: Сейчас в IFВики 113 страниц со свойством "День рождения" в категории "Персоналии". Когда это число достигнет 500, реализованный в шаблоне алгоритм выявления дней рождения на конкретную дату перестанет работать корректным образом (будут теряться дни рождения за пределами первых 500) из-за лимита возвращаемого числа результатов функции встраиваемых запросов #ask. Потребуется изменение реализации.










Этот день в истории

Релизы

3 мая произошёл первый релиз 1 проекта:

Игры

3 мая вышло 6 игр:

Дни рождения

3 мая родилось 2 человека: