<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://station14.ru/history/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:GetField/doc?feed=atom</id>
	<title>Модуль:GetField/doc - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://station14.ru/history/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:GetField/doc?feed=atom"/>
	<link rel="alternate" type="text/html" href="https://station14.ru/history/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:GetField/doc"/>
	<updated>2026-05-19T21:09:49Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://station14.ru/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:GetField/doc&amp;diff=213488&amp;oldid=prev</id>
		<title>Pok в 09:55, 5 апреля 2026</title>
		<link rel="alternate" type="text/html" href="https://station14.ru/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:GetField/doc&amp;diff=213488&amp;oldid=prev"/>
		<updated>2026-04-05T09:55:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 12:55, 5 апреля 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l52&quot;&gt;Строка 52:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 52:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Пример:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Пример:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* {{tji|Модуль:GetField|getTpl|MopItem|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;entity&lt;/del&gt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;MopItem&lt;/del&gt;.json|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Предмет&lt;/del&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* {{tji|Модуль:GetField|getTpl|MopItem|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;сomponent&lt;/ins&gt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;spillable&lt;/ins&gt;.json|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;сomponent/spillable&lt;/ins&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Параметры|&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Параметры|&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Pok</name></author>
	</entry>
	<entry>
		<id>https://station14.ru/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:GetField/doc&amp;diff=201542&amp;oldid=prev</id>
		<title>Pok в 11:57, 31 марта 2026</title>
		<link rel="alternate" type="text/html" href="https://station14.ru/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:GetField/doc&amp;diff=201542&amp;oldid=prev"/>
		<updated>2026-03-31T11:57:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 14:57, 31 марта 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l172&quot;&gt;Строка 172:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 172:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Параметры/строка|key_replace|Строка замены для ключей.|Нет; &amp;lt;code&amp;gt;\1&amp;lt;/code&amp;gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Параметры/строка|key_replace|Строка замены для ключей.|Нет; &amp;lt;code&amp;gt;\1&amp;lt;/code&amp;gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Параметры/строка|value_replace|Строка замены для значений.|Нет; &amp;lt;code&amp;gt;\1&amp;lt;/code&amp;gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Параметры/строка|value_replace|Строка замены для значений.|Нет; &amp;lt;code&amp;gt;\1&amp;lt;/code&amp;gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Параметры/строка|replace|Строка замены для всего вывода.|Нет; &amp;lt;code&amp;gt;\1&amp;lt;/code&amp;gt;}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Pok</name></author>
	</entry>
	<entry>
		<id>https://station14.ru/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:GetField/doc&amp;diff=201290&amp;oldid=prev</id>
		<title>Pok: Новая страница: «{{docpage}} Модуль предназначен для получения данных из кэшированных JSON-страниц и их использования в шаблонах. С его помощью можно получить поле по пути, найти id по значению или сразу собрать вызов шаблона по найденным данным.  Поля берутся из json страниц * &lt;code...»</title>
		<link rel="alternate" type="text/html" href="https://station14.ru/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:GetField/doc&amp;diff=201290&amp;oldid=prev"/>
		<updated>2026-03-29T08:32:35Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «{{docpage}} Модуль предназначен для получения данных из кэшированных JSON-страниц и их использования в шаблонах. С его помощью можно получить поле по пути, найти id по значению или сразу собрать вызов шаблона по найденным данным.  Поля берутся из json страниц * &amp;lt;code...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{docpage}}&lt;br /&gt;
Модуль предназначен для получения данных из кэшированных JSON-страниц и их использования в шаблонах. С его помощью можно получить поле по пути, найти id по значению или сразу собрать вызов шаблона по найденным данным.&lt;br /&gt;
&lt;br /&gt;
Поля берутся из json страниц&lt;br /&gt;
* &amp;lt;code&amp;gt;Участник:IanComradeBot/component/название&amp;lt;/code&amp;gt; (пример: [[Участник:IanComradeBot/component/access.json]])&lt;br /&gt;
* &amp;lt;code&amp;gt;Участник:IanComradeBot/prototype/название&amp;lt;/code&amp;gt; (пример: [[Участник:IanComradeBot/prototype/tag.json]])&lt;br /&gt;
&lt;br /&gt;
Для подпроектов&lt;br /&gt;
* &amp;lt;code&amp;gt;Участник:IanComradeBot/component/Проект/название&amp;lt;/code&amp;gt; (пример: [[Участник:IanComradeBot/Goob/component/access.json]])&lt;br /&gt;
* &amp;lt;code&amp;gt;Участник:IanComradeBot/prototype/Проект/название&amp;lt;/code&amp;gt; (пример: [[Участник:IanComradeBot/Goob/prototype/tag.json]])&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
== Основные функции ==&lt;br /&gt;
&lt;br /&gt;
=== get ===&lt;br /&gt;
Возвращает запись целиком или отдельное поле по её id.&lt;br /&gt;
&lt;br /&gt;
Использование:&lt;br /&gt;
* {{tji|Модуль:GetField|get|id|pagePath|keyPath}}&lt;br /&gt;
&lt;br /&gt;
Простые значения возвращаются как текст, а таблицы в JSON-виде.&lt;br /&gt;
&lt;br /&gt;
Например, json сущности &amp;lt;code&amp;gt;MopItem&amp;lt;/code&amp;gt; из [[Участник:IanComradeBot/component/meleeWeapon.json]] выглядит так:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;MopItem&amp;quot;: {&lt;br /&gt;
    &amp;quot;damage&amp;quot;: {&lt;br /&gt;
        &amp;quot;types&amp;quot;: {&lt;br /&gt;
            &amp;quot;Blunt&amp;quot;: 10&lt;br /&gt;
        }&lt;br /&gt;
    },&lt;br /&gt;
...&lt;br /&gt;
},&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
то мы можем получить значение как как:&lt;br /&gt;
* {{tji|Модуль:GetField|get|MopItem|component/meleeWeapon.json|damage}} -&amp;gt; &amp;quot;types&amp;quot;: {&amp;quot;Blunt&amp;quot;: 10}}&lt;br /&gt;
* {{tji|Модуль:GetField|get|MopItem|component/meleeWeapon.json|damage.types}} -&amp;gt; {&amp;quot;Blunt&amp;quot;: 10}&lt;br /&gt;
* {{tji|Модуль:GetField|get|MopItem|component/meleeWeapon.json|damage.types.Blunt}} -&amp;gt; 10&lt;br /&gt;
&lt;br /&gt;
{{Параметры|&lt;br /&gt;
{{Параметры/строка|1|Id записи.|Да}}&lt;br /&gt;
{{Параметры/строка|2|Путь до JSON-страницы, например &amp;lt;code&amp;gt;component/meleeWeapon.json&amp;lt;/code&amp;gt;.|Да}}&lt;br /&gt;
{{Параметры/строка|3|Путь до поля внутри записи. Поддерживает вложенность через точку и индексы вида &amp;lt;code&amp;gt;field.1&amp;lt;/code&amp;gt;|Да}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== getTpl ===&lt;br /&gt;
Строит вызов шаблона для одного id передавая в него развёрнутые поля записи.&lt;br /&gt;
&lt;br /&gt;
Использование:&lt;br /&gt;
* {{tji|Модуль:GetField|getTpl|id|pagePath|template}}&lt;br /&gt;
&lt;br /&gt;
Шаблон вызывается в виде &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Имя шаблона|id=...|...поля записи...}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Вложенные таблицы передаются как плоские параметры, а также в JSON-виде там, где это нужно для сохранения структуры.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
* {{tji|Модуль:GetField|getTpl|MopItem|entity/MopItem.json|Предмет}}&lt;br /&gt;
&lt;br /&gt;
{{Параметры|&lt;br /&gt;
{{Параметры/строка|1|Id записи.|Да}}&lt;br /&gt;
{{Параметры/строка|2|Путь до JSON-страницы.|Да}}&lt;br /&gt;
{{Параметры/строка|3|Имя шаблона, который будет вызван как &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Имя шаблона|id=...|...}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.|Да}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== searchId / searchIdTpl ===&lt;br /&gt;
Обе функции ищут id по значению в указанном поле. Разница в результате:&lt;br /&gt;
* &amp;lt;code&amp;gt;searchId&amp;lt;/code&amp;gt; возвращает найденные id в виде JSON-массива.&lt;br /&gt;
* &amp;lt;code&amp;gt;searchIdTpl&amp;lt;/code&amp;gt; по найденным id сразу вызывает шаблон.&lt;br /&gt;
&lt;br /&gt;
Использование:&lt;br /&gt;
* {{tji|Модуль:GetField|searchId|searchValue|pagePath|keyPath}}&lt;br /&gt;
* {{tji|Модуль:GetField|searchIdTpl|searchValue|pagePath|keyPath|template}}&lt;br /&gt;
* {{tji|Модуль:GetField|searchIdTpl|pagePath|keyPath|template|searchType{{=}}path}}&lt;br /&gt;
&lt;br /&gt;
Режимы поиска:&lt;br /&gt;
* &amp;lt;code&amp;gt;searchType=value&amp;lt;/code&amp;gt; — ищет id, у которых значение поля равно указанному значению. Это режим по умолчанию.&lt;br /&gt;
* &amp;lt;code&amp;gt;searchType=key&amp;lt;/code&amp;gt; — ищет id, у которых в поле-таблице существует ключ с указанным именем.&lt;br /&gt;
* &amp;lt;code&amp;gt;searchType=path&amp;lt;/code&amp;gt; — только для &amp;lt;code&amp;gt;searchIdTpl&amp;lt;/code&amp;gt;; выводит все id, у которых поле по указанному пути существует и не пустое. В этом режиме первым параметром передаётся &amp;lt;code&amp;gt;pagePath&amp;lt;/code&amp;gt;, а не значение для поиска.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;searchIdTpl&amp;lt;/code&amp;gt; вызывает шаблон в виде &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Имя шаблона|id=...|...поля записи...}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Если найдено несколько id, вызовы собираются подряд через пробел.&lt;br /&gt;
&lt;br /&gt;
Примеры:&lt;br /&gt;
* {{tji|Модуль:GetField|searchId|Elements|[[Участник:IanComradeBot/prototype/reaction.json|prototype/reaction.json]]|group}} -&amp;gt; {{GetField|функция=searchId|Stir|prototype/reaction.json|requiredMixerCategories}}&lt;br /&gt;
&lt;br /&gt;
{{Параметры|&lt;br /&gt;
{{Параметры/строка|1|Значение для поиска.|Да}}&lt;br /&gt;
{{Параметры/строка|2|Путь до JSON-страницы.|Да}}&lt;br /&gt;
{{Параметры/строка|3|Путь до поля внутри записи. Поддерживает вложенность через точку и индексы вида &amp;lt;code&amp;gt;field.1&amp;lt;/code&amp;gt;|Да}}&lt;br /&gt;
{{Параметры/строка|4|Имя шаблона, который будет вызван для каждого найденного id.|Только для &amp;lt;code&amp;gt;searchIdTpl&amp;lt;/code&amp;gt;}}&lt;br /&gt;
{{Параметры/строка|searchType|Режим поиска: &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;key&amp;lt;/code&amp;gt; или &amp;lt;code&amp;gt;path&amp;lt;/code&amp;gt;.|Нет; value}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== hasComp ===&lt;br /&gt;
Проверяет, есть ли у сущности указанный компонент.&lt;br /&gt;
&lt;br /&gt;
Использование:&lt;br /&gt;
* {{tji|Модуль:GetField|hasComp|entityId|componentName}}&lt;br /&gt;
&lt;br /&gt;
Возвращает строку &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; или &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
* {{tji|Модуль:GetField|hasComp|MopItem|Item}}&lt;br /&gt;
&lt;br /&gt;
{{Параметры|&lt;br /&gt;
{{Параметры/строка|1|Id сущности.|Да}}&lt;br /&gt;
{{Параметры/строка|2|Имя компонента для проверки.|Да}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== searchStore / searchStoreTpl ===&lt;br /&gt;
Эти функции находят прототипы или компоненты содержащие указанный id, используя [[Участник:IanComradeBot/prototype_store.json]] или [[Участник:IanComradeBot/component_store.json]].&lt;br /&gt;
&lt;br /&gt;
Использование:&lt;br /&gt;
* {{tji|Модуль:GetField|searchStore|searchId|prototype|Название}}&lt;br /&gt;
* {{tji|Модуль:GetField|searchStore|searchId|component|Название}}&lt;br /&gt;
* {{tji|Модуль:GetField|searchStoreTpl|searchId|prototype|Название|Шаблон}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;searchStore&amp;lt;/code&amp;gt; возвращает JSON-массив id, найденных в компонентах/прототипах. &amp;lt;code&amp;gt;searchStoreTpl&amp;lt;/code&amp;gt; по тем же id сразу вызывает шаблон, используя страницу вида &amp;lt;code&amp;gt;prototype/Название.json&amp;lt;/code&amp;gt; или &amp;lt;code&amp;gt;component/Название.json&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Примеры:&lt;br /&gt;
* {{tji|Модуль:GetField|searchStore|MopItem|component|itemBorgModule}} -&amp;gt; {{GetField|функция=searchStore|MopItem|component|itemBorgModule}}&lt;br /&gt;
* {{tji|Модуль:GetField|searchStore|MopItem|prototype|latheRecipe}} -&amp;gt; {{GetField|функция=searchStore|MopItem|prototype|latheRecipe}}&lt;br /&gt;
&lt;br /&gt;
{{Параметры|&lt;br /&gt;
{{Параметры/строка|1|Id, который ищется в хранилище.|Да}}&lt;br /&gt;
{{Параметры/строка|2|Тип: &amp;lt;code&amp;gt;prototype&amp;lt;/code&amp;gt; или &amp;lt;code&amp;gt;component&amp;lt;/code&amp;gt;.|Да}}&lt;br /&gt;
{{Параметры/строка|3|Имя хранилищя без &amp;lt;code&amp;gt;.json&amp;lt;/code&amp;gt;.|Да}}&lt;br /&gt;
{{Параметры/строка|4|Имя шаблона, который будет вызван для каждого найденного id.|Только для &amp;lt;code&amp;gt;searchStoreTpl&amp;lt;/code&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== getAll / getAllTpl ===&lt;br /&gt;
Эти функции получают все id прототипов или компонентов.&lt;br /&gt;
&lt;br /&gt;
Использование:&lt;br /&gt;
* {{tji|Модуль:GetField|getAll|pagePath}}&lt;br /&gt;
* {{tji|Модуль:GetField|getAllTpl|pagePath|template}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getAll&amp;lt;/code&amp;gt; по умолчанию возвращает JSON-массив id. &lt;br /&gt;
&amp;lt;code&amp;gt;getAllTpl&amp;lt;/code&amp;gt; вызывает шаблон для каждого id в виде &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Имя шаблона|id=...|...поля записи...}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Примеры:&lt;br /&gt;
* {{tji|Модуль:GetField|getAll|component/staticPrice.json}} -&amp;gt; выводит все id сущностей с этим компонентом в формате JSON&lt;br /&gt;
* {{tji|Модуль:GetField|getAllTpl|component/staticPrice.json|component/staticPrice/wrapper}} -&amp;gt; выводит все id сущностей с этим компонентом обёрнутым в шаблон {{шс|component/staticPrice/wrapper}}&lt;br /&gt;
&lt;br /&gt;
{{Параметры|&lt;br /&gt;
{{Параметры/строка|1|Путь до JSON-страницы.|Да}}&lt;br /&gt;
{{Параметры/строка|2|Имя шаблона для &amp;lt;code&amp;gt;getAllTpl&amp;lt;/code&amp;gt;.|Только для &amp;lt;code&amp;gt;getAllTpl&amp;lt;/code&amp;gt;}}&lt;br /&gt;
{{Параметры/строка|replace|Строка замены для &amp;lt;code&amp;gt;getAll&amp;lt;/code&amp;gt;. Если задана, результат выводится построчно вместо JSON-массива.|Нет}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== jsonList ===&lt;br /&gt;
Преобразует JSON в список, перечисление или простой текст. Подходит для быстрого вывода данных без отдельного шаблона.&lt;br /&gt;
&lt;br /&gt;
Использование:&lt;br /&gt;
* {{tji|Модуль:GetField|jsonList|&amp;lt;nowiki&amp;gt;[&amp;quot;a&amp;quot;,&amp;quot;b&amp;quot;,&amp;quot;c&amp;quot;]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
* {{tji|Модуль:GetField|jsonList|&amp;lt;nowiki&amp;gt;{&amp;quot;MopItem&amp;quot;:&amp;quot;Швабра&amp;quot;}&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
* {{tji|Модуль:GetField|jsonList|&amp;lt;nowiki&amp;gt;{&amp;quot;MopItem&amp;quot;:&amp;quot;Швабра&amp;quot;}&amp;lt;/nowiki&amp;gt;|type{{=}}enum}}&lt;br /&gt;
&lt;br /&gt;
Основные параметры:&lt;br /&gt;
* &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; — формат вывода: &amp;lt;code&amp;gt;list&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;enum&amp;lt;/code&amp;gt; или &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;prefix&amp;lt;/code&amp;gt; — префикс строки для режима списка. По умолчанию &amp;lt;code&amp;gt;* &amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;sep&amp;lt;/code&amp;gt; — разделитель между ключом и значением. По умолчанию &amp;lt;code&amp;gt;: &amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;replace&amp;lt;/code&amp;gt; — дополнительная обработка регулярным выражением уже собранной строки.&lt;br /&gt;
* &amp;lt;code&amp;gt;key_replace&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;value_replace&amp;lt;/code&amp;gt; — обработка ключей и значений регулярным выражением по отдельности.&lt;br /&gt;
&lt;br /&gt;
Примеры:&lt;br /&gt;
* {{tji|Модуль:GetField|jsonList|&amp;lt;nowiki&amp;gt;[&amp;quot;a&amp;quot;,&amp;quot;b&amp;quot;,&amp;quot;c&amp;quot;]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
* {{tji|Модуль:GetField|jsonList|&amp;lt;nowiki&amp;gt;{&amp;quot;MopItem&amp;quot;:&amp;quot;Швабра&amp;quot;}&amp;lt;/nowiki&amp;gt;|type{{=}}list}}&lt;br /&gt;
* {{tji|Модуль:GetField|jsonList|&amp;lt;nowiki&amp;gt;{&amp;quot;MopItem&amp;quot;:&amp;quot;Швабра&amp;quot;}&amp;lt;/nowiki&amp;gt;|type{{=}}none|key_replace{{=}}{{tag|nowiki|style=regular|content=&amp;lt;nowiki&amp;gt;[[\1]]&amp;lt;/nowiki&amp;gt;}}}}&lt;br /&gt;
&lt;br /&gt;
{{Параметры|&lt;br /&gt;
{{Параметры/строка|1|JSON-строка. Можно также передать именованным параметром &amp;lt;code&amp;gt;json&amp;lt;/code&amp;gt;.|Да}}&lt;br /&gt;
{{Параметры/строка|type|Формат вывода: &amp;lt;code&amp;gt;list&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;enum&amp;lt;/code&amp;gt; или &amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt;.|Нет; list}}&lt;br /&gt;
{{Параметры/строка|prefix|Префикс строки для режима &amp;lt;code&amp;gt;list&amp;lt;/code&amp;gt;.|Нет; &amp;lt;code&amp;gt;* &amp;lt;/code&amp;gt;}}&lt;br /&gt;
{{Параметры/строка|sep|Разделитель между ключом и значением.|Нет; &amp;lt;code&amp;gt;: &amp;lt;/code&amp;gt;}}&lt;br /&gt;
{{Параметры/строка|key_replace|Строка замены для ключей.|Нет; &amp;lt;code&amp;gt;\1&amp;lt;/code&amp;gt;}}&lt;br /&gt;
{{Параметры/строка|value_replace|Строка замены для значений.|Нет; &amp;lt;code&amp;gt;\1&amp;lt;/code&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== json ===&lt;br /&gt;
Преобразует JSON-объект или JSON-массив объектов в набор вызовов шаблона и сразу обрабатывает их.&lt;br /&gt;
&lt;br /&gt;
Использование:&lt;br /&gt;
* {{tji|Модуль:GetField|json|&amp;lt;nowiki&amp;gt;{&amp;quot;MopItem&amp;quot;:{&amp;quot;name&amp;quot;:&amp;quot;Швабра&amp;quot;}}&amp;lt;/nowiki&amp;gt;|Предмет}}&lt;br /&gt;
&lt;br /&gt;
Если значение по id является объектом, его поля разворачиваются в параметры шаблона. Если значение простое, оно передаётся как &amp;lt;code&amp;gt;value=...&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пример вызова, который будет собран функцией:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Предмет|id=MopItem|name=Швабра}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Параметры|&lt;br /&gt;
{{Параметры/строка|1|JSON-строка.|Да}}&lt;br /&gt;
{{Параметры/строка|2|Имя шаблона.|Да}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* {{шс|loc}}&lt;br /&gt;
* {{шс|Предмет}}&lt;br /&gt;
* {{шс|Сущность}}&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
* Если запись, поле или JSON-страница не найдены, функции обычно возвращают пустую строку.&lt;br /&gt;
* Функция &amp;lt;code&amp;gt;get&amp;lt;/code&amp;gt; возвращает таблицы в JSON-виде.&lt;br /&gt;
* В &amp;lt;code&amp;gt;searchId&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;searchIdTpl&amp;lt;/code&amp;gt; значения сравниваются как строки.&lt;br /&gt;
* Параметр &amp;lt;code&amp;gt;keyPath&amp;lt;/code&amp;gt; поддерживает доступ к вложенным полям и индексам.&lt;br /&gt;
* &amp;lt;code&amp;gt;getTpl&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;searchIdTpl&amp;lt;/code&amp;gt; удобны, когда нужно не получить сырые данные, а сразу отрендерить карточку или другой шаблон.&lt;br /&gt;
* Функции с &amp;lt;code&amp;gt;searchStore&amp;lt;/code&amp;gt; работают только с генераторными страницами и хранилищами, где структура данных уже подготовлена под поиск по id.&lt;br /&gt;
* &amp;lt;code&amp;gt;json&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;jsonList&amp;lt;/code&amp;gt; ожидают корректный JSON; если строка не разбирается, результат будет пустым.&lt;/div&gt;</summary>
		<author><name>Pok</name></author>
	</entry>
</feed>