Шаблон:GetField/doc: различия между версиями
Pok (обсуждение | вклад) м Замена текста — «getTplGenerator» на «searchStoreTpl» Метки: с мобильного устройства из мобильной версии |
Pok (обсуждение | вклад) Нет описания правки |
||
| (не показано 7 промежуточных версий этого же участника) | |||
| Строка 11: | Строка 11: | ||
* <code>Участник:IanComradeBot/prototype/Проект/название</code> (пример: [[Участник:IanComradeBot/Goob/prototype/tag.json]]) | * <code>Участник:IanComradeBot/prototype/Проект/название</code> (пример: [[Участник:IanComradeBot/Goob/prototype/tag.json]]) | ||
__TOC__ | |||
== Основные функции == | == Основные функции == | ||
| Строка 17: | Строка 18: | ||
Использование: | Использование: | ||
* {{tji|GetField|функция{{=}}get|id|pagePath|keyPath}} | * {{tji|GetField|функция{{=}}get|id|pagePath|keyPath}} | ||
| Строка 45: | Строка 45: | ||
=== getTpl === | === getTpl === | ||
Строит вызов шаблона для одного id | Строит вызов шаблона для одного id передавая в него развёрнутые поля записи. | ||
Использование: | Использование: | ||
| Строка 61: | Строка 61: | ||
}} | }} | ||
=== searchId / | === searchId / searchIdTpl === | ||
Обе функции ищут id по значению в указанном поле. Разница в результате: | Обе функции ищут id по значению в указанном поле. Разница в результате: | ||
* <code>searchId</code> возвращает найденные id в виде JSON-массива. | * <code>searchId</code> возвращает найденные id в виде JSON-массива. | ||
* <code> | * <code>searchIdTpl</code> по найденным id сразу вызывает шаблон. | ||
Использование: | Использование: | ||
* {{tji|GetField|функция{{=}}searchId|searchValue|pagePath|keyPath}} | * {{tji|GetField|функция{{=}}searchId|searchValue|pagePath|keyPath}} | ||
* {{tji|GetField|функция{{=}} | * {{tji|GetField|функция{{=}}searchIdTpl|searchValue|pagePath|keyPath|template}} | ||
* {{tji|GetField|функция{{=}} | * {{tji|GetField|функция{{=}}searchIdTpl|pagePath|keyPath|template|searchType{{=}}path}} | ||
Режимы поиска: | Режимы поиска: | ||
* <code>searchType=value</code> — ищет id, у которых значение поля равно указанному значению. Это режим по умолчанию. | * <code>searchType=value</code> — ищет id, у которых значение поля равно указанному значению. Это режим по умолчанию. | ||
* <code>searchType=key</code> — ищет id, у которых в поле-таблице существует ключ с указанным именем. | * <code>searchType=key</code> — ищет id, у которых в поле-таблице существует ключ с указанным именем. | ||
* <code>searchType=path</code> — только для <code> | * <code>searchType=path</code> — только для <code>searchIdTpl</code>; выводит все id, у которых поле по указанному пути существует и не пустое. В этом режиме первым параметром передаётся <code>pagePath</code>, а не значение для поиска. | ||
<code> | <code>searchIdTpl</code> вызывает шаблон в виде <code><nowiki>{{Имя шаблона|id=...|...поля записи...}}</nowiki></code>. Если найдено несколько id, вызовы собираются подряд через пробел. | ||
Примеры: | Примеры: | ||
| Строка 85: | Строка 85: | ||
{{Параметры/строка|2|Путь до JSON-страницы.|Да}} | {{Параметры/строка|2|Путь до JSON-страницы.|Да}} | ||
{{Параметры/строка|3|Путь до поля внутри записи. Поддерживает вложенность через точку и индексы вида <code>field.1</code>|Да}} | {{Параметры/строка|3|Путь до поля внутри записи. Поддерживает вложенность через точку и индексы вида <code>field.1</code>|Да}} | ||
{{Параметры/строка|4|Имя шаблона, который будет вызван для каждого найденного id.|Только для <code> | {{Параметры/строка|4|Имя шаблона, который будет вызван для каждого найденного id.|Только для <code>searchIdTpl</code>}} | ||
{{Параметры/строка|searchType|Режим поиска: <code>value</code>, <code>key</code> или <code>path</code>.|Нет; value}} | {{Параметры/строка|searchType|Режим поиска: <code>value</code>, <code>key</code> или <code>path</code>.|Нет; value}} | ||
}} | }} | ||
| Строка 105: | Строка 105: | ||
}} | }} | ||
=== | === searchStore / searchStoreTpl === | ||
Эти функции находят прототипы или компоненты содержащие указанный id, используя [[Участник:IanComradeBot/prototype_store.json]] | Эти функции находят прототипы или компоненты содержащие указанный id, используя [[Участник:IanComradeBot/prototype_store.json]] или [[Участник:IanComradeBot/component_store.json]]. | ||
Использование: | Использование: | ||
* {{tji|GetField|функция{{=}} | * {{tji|GetField|функция{{=}}searchStore|searchId|prototype|Название}} | ||
* {{tji|GetField|функция{{=}} | * {{tji|GetField|функция{{=}}searchStore|searchId|component|Название}} | ||
* {{tji|GetField|функция{{=}}searchStoreTpl|searchId|prototype|Название|Шаблон}} | * {{tji|GetField|функция{{=}}searchStoreTpl|searchId|prototype|Название|Шаблон}} | ||
<code> | <code>searchStore</code> возвращает JSON-массив id, найденных в компонентах/прототипах. <code>searchStoreTpl</code> по тем же id сразу вызывает шаблон, используя страницу вида <code>prototype/Название.json</code> или <code>component/Название.json</code>. | ||
Примеры: | Примеры: | ||
* {{tji|GetField|функция{{=}} | * {{tji|GetField|функция{{=}}searchStore|MopItem|component|itemBorgModule}} -> {{GetField|функция=searchStore|MopItem|component|itemBorgModule}} | ||
* {{tji|GetField|функция{{=}} | * {{tji|GetField|функция{{=}}searchStore|MopItem|prototype|latheRecipe}} -> {{GetField|функция=searchStore|MopItem|prototype|latheRecipe}} | ||
{{Параметры| | {{Параметры| | ||
| Строка 126: | Строка 126: | ||
}} | }} | ||
=== | === getAll / getAllTpl === | ||
Эти функции получают все id прототипов или компонентов. | Эти функции получают все id прототипов или компонентов. | ||
Использование: | Использование: | ||
* {{tji|GetField|функция{{=}} | * {{tji|GetField|функция{{=}}getAll|pagePath}} | ||
* {{tji|GetField|функция{{=}} | * {{tji|GetField|функция{{=}}getAllTpl|pagePath|template}} | ||
<code> | <code>getAll</code> по умолчанию возвращает JSON-массив id. | ||
<code> | <code>getAllTpl</code> вызывает шаблон для каждого id в виде <code><nowiki>{{Имя шаблона|id=...|...поля записи...}}</nowiki></code>. | ||
Примеры: | Примеры: | ||
* {{tji|GetField|функция{{=}} | * {{tji|GetField|функция{{=}}getAll|component/staticPrice.json}} -> выводит все id сущностей с этим компонентом в формате JSON | ||
* {{tji|GetField|функция{{=}} | * {{tji|GetField|функция{{=}}getAllTpl|component/staticPrice.json|component/staticPrice/wrapper}} -> выводит все id сущностей с этим компонентом обёрнутым в шаблон {{шс|component/staticPrice/wrapper}} | ||
{{Параметры| | {{Параметры| | ||
{{Параметры/строка|1|Путь до JSON-страницы.|Да}} | {{Параметры/строка|1|Путь до JSON-страницы.|Да}} | ||
{{Параметры/строка|2|Имя шаблона для <code> | {{Параметры/строка|2|Имя шаблона для <code>getAllTpl</code>.|Только для <code>getAllTpl</code>}} | ||
{{Параметры/строка|replace|Строка замены для <code> | {{Параметры/строка|replace|Строка замены для <code>getAll</code>. Если задана, результат выводится построчно вместо JSON-массива.|Нет}} | ||
}} | }} | ||
| Строка 199: | Строка 199: | ||
* Если запись, поле или JSON-страница не найдены, функции обычно возвращают пустую строку. | * Если запись, поле или JSON-страница не найдены, функции обычно возвращают пустую строку. | ||
* Функция <code>get</code> возвращает таблицы в JSON-виде. | * Функция <code>get</code> возвращает таблицы в JSON-виде. | ||
* В <code>searchId</code> и <code> | * В <code>searchId</code> и <code>searchIdTpl</code> значения сравниваются как строки. | ||
* Параметр <code>keyPath</code> поддерживает доступ к вложенным полям и индексам. | * Параметр <code>keyPath</code> поддерживает доступ к вложенным полям и индексам. | ||
* <code>getTpl</code> и <code> | * <code>getTpl</code> и <code>searchIdTpl</code> удобны, когда нужно не получить сырые данные, а сразу отрендерить карточку или другой шаблон. | ||
* Функции с <code> | * Функции с <code>searchStore</code> работают только с генераторными страницами и хранилищами, где структура данных уже подготовлена под поиск по id. | ||
* <code>json</code> и <code>jsonList</code> ожидают корректный JSON; если строка не разбирается, результат будет пустым. | * <code>json</code> и <code>jsonList</code> ожидают корректный JSON; если строка не разбирается, результат будет пустым. | ||