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

Нет описания правки
Нет описания правки
 
(не показано 5 промежуточных версий этого же участника)
Строка 1: Строка 1:
{{docpage}}
{{docpage}}
{{OnLua|Сущность|module1=Сущность/поля}}
{{OnLua|Сущность|module1=Сущность/поля}}
Модуль предназначен для вывода блоков сущности по её id. Основная его настройка делается не в самом вызове модуля, а в шаблонах сущностей и компонентов вида <code>component/...</code>, <code>prototype/...</code> и их вариантах <code>/store</code>.
Модуль предназначен для вывода блоков сущности по её id. Основная его настройка делается не в самом вызове модуля, а в шаблонах сущностей и компонентов вида <code>component/...</code>, <code>prototype/...</code> и их вариантах <code>/store</code>. Используется на страницах сущностей см. [[:Категория:Сущности]].


Поля берутся из json страниц
Поля берутся из json страниц
* <code>Участник:IanComradeBot/component/название</code> (пример: [[Участник:IanComradeBot/component/access.json]])
* <code>Участник:IanComradeBot/component/название</code> (пример: [[Участник:IanComradeBot/component/Access.json]])
* <code>Участник:IanComradeBot/prototype/название</code> (пример: [[Участник:IanComradeBot/prototype/tag.json]])
* <code>Участник:IanComradeBot/prototype/название</code> (пример: [[Участник:IanComradeBot/prototype/Tag.json]])


Для подпроектов
Для подпроектов
* <code>Участник:IanComradeBot/component/Проект/название</code> (пример: [[Участник:IanComradeBot/Goob/component/access.json]])
* <code>Участник:IanComradeBot/component/Проект/название</code> (пример: [[Участник:IanComradeBot/Goob/component/Access.json]])
* <code>Участник:IanComradeBot/prototype/Проект/название</code> (пример: [[Участник:IanComradeBot/Goob/prototype/tag.json]])
* <code>Участник:IanComradeBot/prototype/Проект/название</code> (пример: [[Участник:IanComradeBot/Goob/prototype/Tag.json]])


== Как устроен шаблон сущности ==
== Как устроен шаблон сущности ==
Строка 50: Строка 50:


Если один и тот же режим содержит несколько полей, они просто перечисляются отдельными параметрами. Это лишь пример, лучше получать обрабатывать переданные параметры, чтобы они менялись взависимости от сущности. {{ссылка на раздел|#Какие параметры получает шаблон}}
Если один и тот же режим содержит несколько полей, они просто перечисляются отдельными параметрами. Это лишь пример, лучше получать обрабатывать переданные параметры, чтобы они менялись взависимости от сущности. {{ссылка на раздел|#Какие параметры получает шаблон}}
<div style='display: inline-block;'>
<inputbox>
type=create
editintro=Шаблон:Editintro/Сущность
preload=Шаблон:Preload/Сущность
default=Шаблон:Component/
buttonlabel=Создать страницу компонента
</inputbox>
</div>


<div style='display: inline-block;'>
<inputbox>
type=create
editintro=Шаблон:Editintro/Сущность
preload=Шаблон:Preload/Сущность
default=Шаблон:Prototype/
buttonlabel=Создать страницу прототипа
</inputbox>
</div>
== Какие параметры получает шаблон ==
== Какие параметры получает шаблон ==
Кроме режимов и <code>id</code>, модуль передаёт шаблону параметры из JSON-страницы сущности.
Кроме режимов и <code>id</code>, модуль передаёт шаблону параметры из JSON-страницы сущности.


Например, json сущности <code>MopItem</code> из [[Участник:IanComradeBot/component/meleeWeapon.json]] выглядит так:
Например, json сущности <code>MopItem</code> из [[Участник:IanComradeBot/component/MeleeWeapon.json]] выглядит так:
<pre>
<pre>
"MopItem": {
"MopItem": {
Строка 73: Строка 91:
То есть модуль передаёт расплющенные параметры записи, и после этого их можно использовать как обычные параметры шаблона, в том числе с точками в имени.
То есть модуль передаёт расплющенные параметры записи, и после этого их можно использовать как обычные параметры шаблона, в том числе с точками в имени.


Дальше их можно оставить так, либо использовать json функции из {{шс|Модуль:GetField}}, если нужно обработать вложенность (пример [[Шаблон:Component/meleeWeapon]]).
Дальше их можно оставить так, либо использовать json функции из {{шс|Модуль:GetField}}, если нужно обработать вложенность (пример [[Шаблон:Component/MeleeWeapon]]).


== Использование модуля ==
== Использование модуля ==
Строка 98: Строка 116:


Примеры:
Примеры:
* {{tji|сущность|id|ignoreComponents{{=}}Item, Sprite}}
* {{tji|сущность|id|showSource{{=}}1}}
* {{tji|сущность|id|ignorePrototypes{{=}}Alert, Tag}}
* {{tji|сущность|id|componentBlacklist{{=}}Item, Sprite}}
* {{tji|сущность|id|prototypeBlacklist{{=}}Alert, Tag}}
* {{tji|сущность|id|componentWhitelist{{=}}Explosive, Sprite}}
* {{tji|сущность|id|prototypeWhitelist{{=}}Alert, Tag}}


== Параметры ==
== Параметры ==
{{Параметры|
{{Параметры|
{{Параметры/строка|1|Id сущности.|Да}}
{{Параметры/строка|1|Id сущности.|Да}}
{{Параметры/строка|showSource|Показывать источники полей. При значении <code>1</code> источники отображаются.|Нет}}
{{Параметры/строка|whitelist|Белый список полей в формате <code>режим_поле</code>, перечисленных через запятую.|Нет}}
{{Параметры/строка|whitelist|Белый список полей в формате <code>режим_поле</code>, перечисленных через запятую.|Нет}}
{{Параметры/строка|blacklist|Чёрный список полей в формате <code>режим_поле</code>, перечисленных через запятую.|Нет}}
{{Параметры/строка|blacklist|Чёрный список полей в формате <code>режим_поле</code>, перечисленных через запятую.|Нет}}
{{Параметры/строка|ignoreComponents|Список компонентов, которые не нужно учитывать при сборке сущности.|Нет}}
{{Параметры/строка|componentWhitelist|Белый список компонентов, которые нужно учитывать при сборке сущности.|Нет}}
{{Параметры/строка|ignorePrototypes|Список прототипов, которые не нужно учитывать при сборке сущности.|Нет}}
{{Параметры/строка|componentBlacklist|Чёрный список компонентов, которые не нужно учитывать при сборке сущности.|Нет}}
{{Параметры/строка|prototypeWhitelist|Белый список прототипов, которые нужно учитывать при сборке сущности.|Нет}}
{{Параметры/строка|prototypeBlacklist|Чёрный список прототипов, которые не нужно учитывать при сборке сущности.|Нет}}
}}
}}


== См. также ==
== См. также ==
* {{шс|loc}}
* {{шс|loc}}
* {{шс|GetField}}
* {{шс|Модуль:GetField}}
* {{шс|Предмет}}
* {{шс|Предмет}}
* {{шс|Модуль:Сущность/поля}}
* {{шс|Модуль:Сущность/поля}}
Строка 118: Строка 142:
== Примечания ==
== Примечания ==
* Если нужный шаблон сущности или компонента отсутствует, модуль выводит служебный блок с указанием отсутствующего шаблона.
* Если нужный шаблон сущности или компонента отсутствует, модуль выводит служебный блок с указанием отсутствующего шаблона.
* В белом и чёрном списках используются режимы из описания шаблона: обычно <code>title</code> и <code>card</code>.
* Для карточки модуль отдельно вызывает подпись поля и его содержимое, поэтому обычно нужно задавать обе части: <code>cardLabel</code> и <code>cardContent</code>.
* Для карточки модуль отдельно вызывает подпись поля и его содержимое, поэтому обычно нужно задавать обе части: <code>cardLabel</code> и <code>cardContent</code>.