> ## Documentation Index
> Fetch the complete documentation index at: https://foliant-help.iforiti.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Редактирование кода шаблона

> Редактируйте Liquid, HTML и CSS шаблона в редакторе кода, вставляйте поля заказа, пользуйтесь справочником переменных и исправляйте ошибки кода.

Редактор кода даёт вам полный контроль над шаблоном. Шаблоны — это HTML и CSS с Liquid, тем же языком шаблонов, что использует Shopify: `{{ order_name }}` выводит название заказа, `{% for line_item in line_items %}` повторяется для каждой позиции. Переменные заказа в Foliant совпадают с переменными Shopify Order Printer, поэтому написанные для него шаблоны обычно работают без изменений. Редактор кода доступен на всех тарифах.

## Открытие редактора кода

Откройте шаблон в редакторе и нажмите вкладку **Код**. Шаблоны с кодом открываются сразу на ней. Для визуального шаблона вы сначала увидите скомпилированный код; чтобы изменить его, нажмите **Изменить код**. См. [Переключение между визуальным режимом и кодом](https://foliant-help.iforiti.com/ru/template-editor/visual-and-code-modes.md).

На левой панели три вкладки:

| Вкладка | Что на ней |
| - | - |
| **Код** | Код шаблона с подсветкой синтаксиса. Текущая строка и столбец показаны внизу. |
| **Переменные Liquid** | Доступные переменные и фильтры, сгруппированные по разделам (общие переменные, данные позиций, данные клиента…), с полем **Поиск по справочнику**. |
| **Метаполя** | Как выводить метаполя заказа, клиента, товара и варианта. См. [Метаполя в шаблонах](https://foliant-help.iforiti.com/ru/template-editor/metafields.md). |

На правой панели — предпросмотр в реальном времени. Он обновляется вскоре после того, как вы перестаёте печатать.

## Вставка поля

1. Поставьте курсор туда, где должно быть поле.
2. Нажмите **Вставить поле**.
3. Найдите поле (например, «tracking» или «SKU») в поле **Поиск полей** и нажмите на него.

Foliant вставит его код Liquid в позицию курсора, например `{{ shipping_address.city }}`. Поля позиций, такие как `{{ line_item.sku }}`, работают только внутри цикла по позициям: чтобы вставить сам цикл, выберите **Позиции заказа**.

## Поиск в коде

Нажмите кнопку поиска рядом с **Вставить поле** (или нажмите ⌘F / Ctrl+F в коде), чтобы найти текст в шаблоне.

## Ошибки кода

Редактор проверяет код по мере ввода и отмечает проблемы на полях:

* **Ошибки** не дают сохранить шаблон и приостанавливают предпросмотр. Незакрытый `{{` или `{%` — это ошибка. Ошибки перечислены в баннере **Ошибки кода** над редактором, у каждой есть кнопка **Перейти к строке**.
* **Предупреждения** указывают на возможные проблемы, но не мешают сохранению: например, неизвестный фильтр, тег или объект Liquid, неизвестный тег HTML или свойство CSS, незакрытый тег HTML.

При сохранении Foliant тоже проверяет шаблон: код Liquid должен читаться, теги HTML должны быть сбалансированы, а встроенный SVG может содержать только элементы рисования. Если что-то не так, сохранение не выполняется, а баннер **Не удалось обновить** показывает до пяти проблем с номерами строк, если они известны.

Если шаблон сохранился, но предпросмотр не удаётся построить, баннер показывает сообщение Liquid и строку, если она известна.

## Как писать хорошие шаблоны

* Денежные суммы хранятся в центах: всегда выводите их с денежным фильтром, например `{{ total_price | money }}`. См. [Деньги и валюта в шаблонах](https://foliant-help.iforiti.com/ru/template-editor/liquid-money-and-currency.md).
* Применяйте `| escape` к тексту, который ввели клиенты, например к примечаниям и адресам: `{{ note | escape }}`.
* Используйте `{{ 'subtotal' | t }}` для текста, который должен следовать языку документа. См. [Даты, языки и переводы](https://foliant-help.iforiti.com/ru/template-editor/liquid-dates-and-languages.md).
* Для НДС используйте встроенные фрагменты Foliant: `{% include 'vat_breakdown' %}` выводит таблицу расчёта НДС, а `{% include 'legal_notes' %}` — юридические примечания (обратное начисление, экспорт, IOSS…).

## Полезно знать

* Если нумерованный шаблон (счёт, кредит-нота или коммерческое предложение) нигде не выводит `document_number`, Foliant добавляет в конец документа небольшую строку с номером. См. [Номера документов в шаблонах](https://foliant-help.iforiti.com/ru/template-editor/liquid-document-numbers.md).
* Номера страниц и повторяющиеся заголовки таблиц для шаблонов с кодом настраиваются на странице настроек шаблона в разделе **Макет страницы**.
* Чтобы перенести шаблон из Shopify Order Printer или Order Printer Pro, нажмите **Импортировать шаблон** на странице «Шаблоны». См. [Импорт шаблона из Order Printer](https://foliant-help.iforiti.com/ru/templates/import-from-order-printer.md).

## Связанные статьи

* [Объект заказа и основные переменные](https://foliant-help.iforiti.com/ru/template-editor/liquid-order-variables.md)
* [Фильтры Liquid](https://foliant-help.iforiti.com/ru/template-editor/liquid-filters.md)
* [Переключение между визуальным режимом и кодом](https://foliant-help.iforiti.com/ru/template-editor/visual-and-code-modes.md)
* [Предпросмотр, размер бумаги и масштаб](https://foliant-help.iforiti.com/ru/template-editor/preview-paper-and-zoom.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.