Шаблон:КРИЛ: различия между версиями

Материал из IFВики
Перейти к навигации Перейти к поиску
(Документирование ошибок)
м
 
(не показано 8 промежуточных версий 2 участников)
Строка 1: Строка 1:
<includeonly>[[Категория:Игры КРИЛ {{{1}}}]]{{#ifeq: {{{2}}} | 1 | [[Избранная игра::да| ]] | }}</includeonly>{{Коробочка
+
<includeonly>[[Категория:Игры КРИЛ {{{1}}}]]{{#ifeq: {{{2}}} | 1 |{{Избранная игра свойство}}| }}</includeonly>{{Коробочка
 
|img = KrilLogo.png
 
|img = KrilLogo.png
 
|imgwidth = 64
 
|imgwidth = 64
 
|imgheight = 64
 
|imgheight = 64
|text = '''[[КРИЛ {{{1}}}]]'''<br>{{#if: {{{2| }}}| <includeonly>[[Место КРИЛ {{{1}}}::{{{2}}}| ]]</includeonly> {{{2}}} место {{#if: {{{3| }}} | из {{{3}}} | }} | }}
+
|text = '''[[КРИЛ {{{1}}}]]''' <br>{{#if: {{{2| }}}| {{{2}}} место {{#if: {{{3| }}} | из {{{3}}} | }} | }}
}}<includeonly>{{#arraydefine:translation| {{#ask: [[Категория:Игры КРИЛ {{{1}}}]] [[Категория:Переводы игр]] | link = none }} |,}}
+
}}<includeonly><nowiki />
{{#vardefine:istranslation| {{#arraysearch:translation| {{PAGENAME}} }} }}
+
<!-- Если указано место --><nowiki />
{{#if: {{{2|}}} | {{#if: {{#var:istranslation}} | [[Номинация::Переводы| ]] | [[Номинация::Основная| ]] }} | {{#ifeq: {{#ask: [[Место КРИЛ {{{1}}}::]] | format=count }} | 0 | | [[Номинация::Вне конкурса| ]] }} }}
+
{{#if: {{{2|}}} | [[Место КРИЛ {{{1}}}::{{{2}}}| ]]<!--
{{#if: {{{2|}}} | {{#ifeq: {{{2|}}} | 1 | [[Призёр::{{{2}}}| ]] | {{#ifeq: {{#show: {{PAGENAME}} | ?Номинация }} | Основная | {{#ifeq: {{{2|}}} | 2 | [[Призёр::{{{2}}}| ]] | {{#ifeq: {{{2|}}} | 3 | [[Призёр::{{{2}}}| ]] | }} }} | }} }} | }}
+
Если у страницы есть семантика "Перевод", ставим номинацию переводов. Остальным - основную.
</includeonly><noinclude>Первый аргумент - год конкурса. Второй аргумент (необязательно) - призовое место (цифра). Третий аргумент (необязательно) - общее количество мест.
+
-->{{#if: {{#show: {{PAGENAME}} | ?Перевод }} | [[Номинация КРИЛ::Переводы| ]] | [[Номинация КРИЛ::Основная| ]] }}<!--
 +
Если место не указано и при этом семантика говорит, что на вики есть игры, занявшие какие-то места, ставим номинацию «Вне конкурса». Так игры текущего КРИЛа (ещё не занявшие мест) не попадут всем скопом вне конкурса.
 +
-->| {{#ifeq: {{#ask: [[Место КРИЛ {{{1}}}::+]] | format=count }} | 0 | | [[Номинация КРИЛ::Вне конкурса| ]] }} }}<!--
 +
Опять же, если указано место, ставим семантику "Призёр КРИЛ"
 +
-->{{#if: {{{2|}}} | {{#ifeq: {{{2|}}} | 1 | [[Призёр КРИЛ::{{{2}}}| ]] | {{#ifeq: {{#show: {{PAGENAME}} | ?Номинация КРИЛ }} | Основная | {{#ifeq: {{{2|}}} | 2 | [[Призёр КРИЛ::{{{2}}}| ]] | {{#ifeq: {{{2|}}} | 3 | [[Призёр КРИЛ::{{{2}}}| ]] | }} }} | }} }} | }}</includeonly><noinclude>Первый аргумент - год конкурса. Второй аргумент (необязательно) - призовое место (цифра). Третий аргумент (необязательно) - общее количество мест.
 
Избранной игрой автоматически считается только победитель.
 
Избранной игрой автоматически считается только победитель.
 
'''Известная проблема, нуждающаяся в исправлении''': Шаблон даёт сбой на страницах игр, в названии которых (&#123;&#123;PAGENAME&#125;&#125;) содержится знак запятой ",". Связано с тем, что в строке 6 по запятой как разделителю происходит генерация массива названий переводных игр, который далее используется в строке 7 с целью автоматического определения игры как перевода. В итоге, названия игр с запятой разделяются на два элемента массива, в результате чего их полные названия в массив не попадают, что приводит к установке им на строке 8 свойства "Номинация" со значением "Основная", а не "Перевод". Оптимальным решением было бы изменение формата списка страниц, который генерируется #ask на строке 6, чтобы в качестве разделителя использовался какой-то другой знак, но быстрый поиск нужного способа пока не дал результатов. Продолжаем поиск и осуждаем всех призёров КРИЛ с запятыми в названии игр за доставленные проблемы.
 
  
 
[[Категория:Шаблоны конкурсов]]</noinclude>
 
[[Категория:Шаблоны конкурсов]]</noinclude>

Текущая версия на 09:30, 19 октября 2024

[[КРИЛ {{{1}}}]]

Первый аргумент - год конкурса. Второй аргумент (необязательно) - призовое место (цифра). Третий аргумент (необязательно) - общее количество мест.

Избранной игрой автоматически считается только победитель.