Шаблон:GetField/doc: различия между версиями
Pok (обсуждение | вклад) м Замена текста — «getId» на «searchId» |
Pok (обсуждение | вклад) м Замена текста — «getTplId» на «searchTplId» |
||
| Строка 61: | Строка 61: | ||
}} | }} | ||
=== searchId / | === searchId / searchTplId === | ||
Обе функции ищут id по значению в указанном поле. Разница в результате: | Обе функции ищут id по значению в указанном поле. Разница в результате: | ||
* <code>searchId</code> возвращает найденные id в виде JSON-массива. | * <code>searchId</code> возвращает найденные id в виде JSON-массива. | ||
* <code> | * <code>searchTplId</code> по найденным id сразу вызывает шаблон. | ||
Использование: | Использование: | ||
* {{tji|GetField|функция{{=}}searchId|searchValue|pagePath|keyPath}} | * {{tji|GetField|функция{{=}}searchId|searchValue|pagePath|keyPath}} | ||
* {{tji|GetField|функция{{=}} | * {{tji|GetField|функция{{=}}searchTplId|searchValue|pagePath|keyPath|template}} | ||
* {{tji|GetField|функция{{=}} | * {{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> | * <code>searchType=path</code> — только для <code>searchTplId</code>; выводит все id, у которых поле по указанному пути существует и не пустое. В этом режиме первым параметром передаётся <code>pagePath</code>, а не значение для поиска. | ||
<code> | <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> | {{Параметры/строка|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> | * В <code>searchId</code> и <code>searchTplId</code> значения сравниваются как строки. | ||
* Параметр <code>keyPath</code> поддерживает доступ к вложенным полям и индексам. | * Параметр <code>keyPath</code> поддерживает доступ к вложенным полям и индексам. | ||
* <code>getTpl</code> и <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; если строка не разбирается, результат будет пустым. | ||