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

м Замена текста — «getId» на «searchId»
м Замена текста — «getTplId» на «searchTplId»
Строка 61: Строка 61:
}}
}}


=== searchId / getTplId ===
=== searchId / searchTplId ===
Обе функции ищут id по значению в указанном поле. Разница в результате:
Обе функции ищут id по значению в указанном поле. Разница в результате:
* <code>searchId</code> возвращает найденные id в виде JSON-массива.
* <code>searchId</code> возвращает найденные id в виде JSON-массива.
* <code>getTplId</code> по найденным id сразу вызывает шаблон.
* <code>searchTplId</code> по найденным id сразу вызывает шаблон.


Использование:
Использование:
* {{tji|GetField|функция{{=}}searchId|searchValue|pagePath|keyPath}}
* {{tji|GetField|функция{{=}}searchId|searchValue|pagePath|keyPath}}
* {{tji|GetField|функция{{=}}getTplId|searchValue|pagePath|keyPath|template}}
* {{tji|GetField|функция{{=}}searchTplId|searchValue|pagePath|keyPath|template}}
* {{tji|GetField|функция{{=}}getTplId|pagePath|keyPath|template|searchType{{=}}path}}
* {{tji|GetField|функция{{=}}searchTplId|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>getTplId</code>; выводит все id, у которых поле по указанному пути существует и не пустое. В этом режиме первым параметром передаётся <code>pagePath</code>, а не значение для поиска.
* <code>searchType=path</code> — только для <code>searchTplId</code>; выводит все id, у которых поле по указанному пути существует и не пустое. В этом режиме первым параметром передаётся <code>pagePath</code>, а не значение для поиска.


<code>getTplId</code> вызывает шаблон в виде <code><nowiki>{{Имя шаблона|id=...|...поля записи...}}</nowiki></code>. Если найдено несколько id, вызовы собираются подряд через пробел.
<code>searchTplId</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>getTplId</code>}}
{{Параметры/строка|4|Имя шаблона, который будет вызван для каждого найденного id.|Только для <code>searchTplId</code>}}
{{Параметры/строка|searchType|Режим поиска: <code>value</code>, <code>key</code> или <code>path</code>.|Нет; value}}
{{Параметры/строка|searchType|Режим поиска: <code>value</code>, <code>key</code> или <code>path</code>.|Нет; value}}
}}
}}
Строка 199: Строка 199:
* Если запись, поле или JSON-страница не найдены, функции обычно возвращают пустую строку.
* Если запись, поле или JSON-страница не найдены, функции обычно возвращают пустую строку.
* Функция <code>get</code> возвращает таблицы в JSON-виде.
* Функция <code>get</code> возвращает таблицы в JSON-виде.
* В <code>searchId</code> и <code>getTplId</code> значения сравниваются как строки.
* В <code>searchId</code> и <code>searchTplId</code> значения сравниваются как строки.
* Параметр <code>keyPath</code> поддерживает доступ к вложенным полям и индексам.
* Параметр <code>keyPath</code> поддерживает доступ к вложенным полям и индексам.
* <code>getTpl</code> и <code>getTplId</code> удобны, когда нужно не получить сырые данные, а сразу отрендерить карточку или другой шаблон.
* <code>getTpl</code> и <code>searchTplId</code> удобны, когда нужно не получить сырые данные, а сразу отрендерить карточку или другой шаблон.
* Функции с <code>Generator</code> работают только с генераторными страницами и хранилищами, где структура данных уже подготовлена под поиск по id.
* Функции с <code>Generator</code> работают только с генераторными страницами и хранилищами, где структура данных уже подготовлена под поиск по id.
* <code>json</code> и <code>jsonList</code> ожидают корректный JSON; если строка не разбирается, результат будет пустым.
* <code>json</code> и <code>jsonList</code> ожидают корректный JSON; если строка не разбирается, результат будет пустым.