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

Материал из IFВики
Перейти к навигации Перейти к поиску
(Очень странно работает сравнение литералов...)
(К сожалению, ещё один отдельный запрос для дней рождения без годов. Проверка по строкам в первом запросе почему-то не работает.)
Строка 8: Строка 8:
 
{{#switch: {{#arrayindex:aDate|1}} | 01 = {{#vardefine:sCurrentMonthNameGen|января}} | 02 = {{#vardefine:sCurrentMonthNameGen|февраля}} | 03 = {{#vardefine:sCurrentMonthNameGen|марта}} | 04 = {{#vardefine:sCurrentMonthNameGen|апреля}} | 05 = {{#vardefine:sCurrentMonthNameGen|мая}} | 06 = {{#vardefine:sCurrentMonthNameGen|июня}} | 07 = {{#vardefine:sCurrentMonthNameGen|июля}} | 08 = {{#vardefine:sCurrentMonthNameGen|августа}} | 09 = {{#vardefine:sCurrentMonthNameGen|сентября}} | 10 = {{#vardefine:sCurrentMonthNameGen|октября}} | 11 = {{#vardefine:sCurrentMonthNameGen|ноября}} | 12 = {{#vardefine:sCurrentMonthNameGen|декабря}} }}
 
{{#switch: {{#arrayindex:aDate|1}} | 01 = {{#vardefine:sCurrentMonthNameGen|января}} | 02 = {{#vardefine:sCurrentMonthNameGen|февраля}} | 03 = {{#vardefine:sCurrentMonthNameGen|марта}} | 04 = {{#vardefine:sCurrentMonthNameGen|апреля}} | 05 = {{#vardefine:sCurrentMonthNameGen|мая}} | 06 = {{#vardefine:sCurrentMonthNameGen|июня}} | 07 = {{#vardefine:sCurrentMonthNameGen|июля}} | 08 = {{#vardefine:sCurrentMonthNameGen|августа}} | 09 = {{#vardefine:sCurrentMonthNameGen|сентября}} | 10 = {{#vardefine:sCurrentMonthNameGen|октября}} | 11 = {{#vardefine:sCurrentMonthNameGen|ноября}} | 12 = {{#vardefine:sCurrentMonthNameGen|декабря}} }}
 
{{#vardefine:sDayMonthName| {{#expr: {{#arrayindex:aDate|0}} + 0}} {{#var:sCurrentMonthNameGen}} }}
 
{{#vardefine:sDayMonthName| {{#expr: {{#arrayindex:aDate|0}} + 0}} {{#var:sCurrentMonthNameGen}} }}
{{#vardefine:sDayMonthNameJL| {{#var:sCurrentMonthNameGen}} {{#expr: {{#arrayindex:aDate|0}} + 0}} }}
 
 
|{{#vardefine:sDayMonth| {{CURRENTDAY2}}.{{CURRENTMONTH}} }}
 
|{{#vardefine:sDayMonth| {{CURRENTDAY2}}.{{CURRENTMONTH}} }}
 
{{#vardefine:sCurrentMonthNameGen| {{CURRENTMONTHNAMEGEN}} }}
 
{{#vardefine:sCurrentMonthNameGen| {{CURRENTMONTHNAMEGEN}} }}
 
{{#vardefine:sDayMonthName| {{CURRENTDAY}} {{#var:sCurrentMonthNameGen}} }}
 
{{#vardefine:sDayMonthName| {{CURRENTDAY}} {{#var:sCurrentMonthNameGen}} }}
{{#vardefine:sDayMonthNameJL| {{#var:sCurrentMonthNameGen}} {{CURRENTDAY}} }}
 
 
}}
 
}}
 
{{#arraydefine:aYears}}
 
{{#arraydefine:aYears}}
Строка 24: Строка 22:
 
{{#arraydefine:aBirthdays}}
 
{{#arraydefine:aBirthdays}}
 
{{#arraydefine:aAllBirthdays| {{#ask: [[Категория:Персоналии]] [[День рождения::+]] | limit=500 | link=none | sep=SUPERMEGADELIMITER }} |SUPERMEGADELIMITER}}
 
{{#arraydefine:aAllBirthdays| {{#ask: [[Категория:Персоналии]] [[День рождения::+]] | limit=500 | link=none | sep=SUPERMEGADELIMITER }} |SUPERMEGADELIMITER}}
{{#arrayprint:aAllBirthdays| |@@@@| {{#vardefine:sTemp| {{#show: @@@@ | ?День рождения }} }} {{#arraydefine:aTemp| {{#var:sTemp}} | {{#var:sDayMonthName}} }} {{#ifeq: {{#arraysize:aTemp}} | 2 | {{#if: {{#arrayindex:aTemp|0}} | | {{#arraydefine:aTemp|@@@@|SUPERMEGADELIMITER}} {{#arraymerge:aBirthdays|aBirthdays|aTemp}} }} | {{#arraydefine:aTemp|{{#var:sTemp}}|{{#var:sDayMonthNameJL}} JL}} {{#ifeq: {{#arraysize:aTemp}} | 2 | {{#arraydefine:aTemp|@@@@|SUPERMEGADELIMITER}} {{#arraymerge:aBirthdays|aBirthdays|aTemp}} | }} }} }}
+
{{#arrayprint:aAllBirthdays| |@@@@| {{#arraydefine:aTemp| {{#show: @@@@ | ?День рождения }} | {{#var:sDayMonthName}} }} {{#ifeq: {{#arraysize:aTemp}} | 2 | {{#if: {{#arrayindex:aTemp|0}} | | {{#arraydefine:aTemp|@@@@|SUPERMEGADELIMITER}} {{#arraymerge:aBirthdays|aBirthdays|aTemp}} }} | }} }}
 +
{{#arraydefine:aAllBirthdays| {{#ask: [[Категория:Персоналии]] [[День рождения::{{#var:sDayMonthName}}]] | limit=500 | link=none | sep=SUPERMEGADELIMITER }} |SUPERMEGADELIMITER}}
 +
{{#arraymerge:aBirthdays|aBirthdays|aAllBirthdays}}
 
{{#vardefine:iReleases| {{#arraysize:aReleases}} }}
 
{{#vardefine:iReleases| {{#arraysize:aReleases}} }}
 
{{#vardefine:iGames| {{#arraysize:aGames}} }}
 
{{#vardefine:iGames| {{#arraysize:aGames}} }}

Версия 17:35, 2 мая 2019

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

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










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

Игры

20 мая вышло 4 игры:

Дни рождения

20 мая родился 1 человек: