Настройка текстового редактора (для каждого места)

TSync использует редактор форматированного текста (WYSIWYG‑редактор) в нескольких местах — договоры, шаблоны писем, предложения, база знаний, заявки поддержки и другие. Страница Настройки редактора позволяет решить отдельно для каждого места, как выглядит редактор и какие кнопки он предлагает. Можно дать договорам полную панель, как у текстового процессора, а шаблонам писем — простую, и всё это без единой строки кода.

Где открыть

Перейдите в Setup → Центр конфигурации → Редактор (/admin/tsync_editor_settings). Он сгруппирован с остальными инструментами Дизайн и брендинг.

Что значит «для каждого места»

Каждое место в системе, где используется редактор, — это контекст. По умолчанию их несколько:

Контекст Где появляется
Договоры редактор содержимого договора
Шаблоны договоров тело шаблона в Setup → Шаблоны договоров
Предложения редактор содержимого предложения
Шаблоны писем Setup → Шаблоны писем
База знаний тело статьи
Заявки редактор ответа / описания заявки
Везде остальное (по умолчанию) любой другой редактор, у которого пока нет своей настройки

У каждого контекста своя карточка на странице. Изменение в Договорах никогда не затрагивает Шаблоны писем.

Новые модули, использующие редактор, появляются здесь автоматически — не нужно ждать обновления, чтобы их настроить.

Что можно изменить

Для каждого контекста вы выбираете:

  • Пресет — быстрая отправная точка для панели:
    • Базовый — жирный/курсив, списки, ссылки. Подходит для коротких заметок и ответов.
    • Стандартный — повседневный набор (форматирование, выравнивание, цвета, таблицы, изображения).
    • Полный — полноценный текстовый процессор: верхняя строка меню (Файл / Правка / Вид / Вставка / Формат / Инструменты / Таблица), богатая панель и все инструменты. Подходит для договоров и длинных документов.
    • Наследовать — использовать то, что задано в контексте Везде остальное (по умолчанию).
    • Пользовательский — начать с Полного и вписать свой список кнопок панели (для опытных, см. ниже).
  • Шрифт по умолчанию — шрифт, которым пишется текст для этого контекста. Выберите Onest (молдавский шрифт, см. ниже), Системный шрифт или По умолчанию (редактор) (оставить собственный шрифт редактора). Договоры, шаблоны договоров и шаблоны писем стартуют на Onest.
  • Скин (тема) — внешний вид редактора. Встроенные темы: Светлая (Oxide), Тёмная (Oxide dark), Классическая (v5) и Классическая тёмная. Выберите Тёмную под тёмную тему админки.
  • Стиль содержимого — как оформлен текст внутри редактора во время набора (По умолчанию, Документ, Writer, Тёмный). Документ даёт страницу как на бумаге, удобную для договоров.
  • Строка меню — показать или скрыть верхнее меню (Файл / Правка / …). Полный включает её; здесь можно принудительно включить или выключить.
  • Высота — насколько высок блок редактора, в пикселях.
  • Пользовательская панель (только когда пресет Пользовательский) — список кнопок через пробел, с | в качестве разделителя, напр. undo redo | bold italic | bullist numlist | link table.

Нажмите Сохранить. Изменение вступает в силу при следующем открытии этого редактора — перезапуск не нужен.

Договоры и шаблоны договоров: постраничный вид

Когда вы редактируете договор или шаблон договора, редактор работает как текстовый процессор:

  • Панель инструментов остаётся закреплённой вверху при прокрутке длинного документа.
  • Текст размещается на настоящих страницах A4 — белые листы на сером фоне с промежутком между ними, как в Word. Когда текст выходит за низ страницы, он перетекает на следующий лист, поэтому вы всегда видите, где заканчивается каждая страница.
  • Кнопка Сохранить (значок дискеты) есть на панели, чтобы сохранить длинный шаблон, не прокручивая до кнопки сохранения самой формы.

Настройка полей страницы и межстрочного интервала (шаблоны договоров)

В шаблоне договора (Настройки → Шаблоны договоров → изменить шаблон) есть панель «Макет страницы (PDF)» с пятью полями:

  • Поля Сверху, Справа, Снизу и Слева (в миллиметрах)
  • Межстрочный интервал

Введите нужные значения — страница в редакторе обновляется вживую, а сгенерированный PDF выходит идентичным тому, что вы видите в редакторе (те же поля, тот же интервал). Оставьте поле пустым, чтобы использовать стандартное значение. Так вы сделаете договор настолько плотным или воздушным, как исходный документ Word, прямо из редактора.

Совет: межстрочный интервал можно задать и для одного абзаца кнопкой межстрочного интервала на панели — PDF учитывает и это.

Onest — молдавский шрифт

Onest — открытый шрифт Республики Молдова. Он встроен — шрифт поставляется с TSync (интернет не нужен) и покрывает румынские диакритики (ă â î ș ț) и русский (кириллица). Он идёт первым в списке шрифтов редактора, а договоры, шаблоны договоров и шаблоны писем пишутся на Onest по умолчанию.

Чтобы использовать его в другом месте, выберите Onest в поле Шрифт по умолчанию любого контекста или выберите его из списка шрифтов во время редактирования. Чтобы перестать использовать его для контекста, установите Шрифт по умолчанию этого контекста в По умолчанию (редактор).

Шрифт Onest применяется, когда вы пишете в редакторе, и к HTML-выводу. Теперь Onest доступен и для печатных PDF: выберите его в Настройки → PDF → шрифт, и каждый сгенерированный PDF — счета, договоры, сметы, кредит-ноты — отображается шрифтом Onest, включая румынские диакритики (ă â î ș ț) и кириллицу.

Как отменить изменение

Верните контекст на Наследовать (чтобы следовать значению по умолчанию) или на Стандартный и сохраните. Чтобы полностью отключить функцию и вернуться к встроенному редактору платформы, администратор может установить параметр tsync_editor_off в 1.

Для администраторов / авторов модулей

Список контекстов — это фильтруемый реестр. Модуль может добавить свой контекст редактора, чтобы он автоматически появился на этой странице:

add_filter('tsync_editor_contexts', function ($contexts) {
    $contexts['my_module_notes'] = [
        'label'   => 'Мой модуль — заметки',
        'preset'  => 'standard',   // пресет по умолчанию для этого контекста
    ];
    return $contexts;
});

Затем пометьте элемент редактора в вашем представлении соответствующим атрибутом:

<textarea class="tinymce" data-tsx-editor-context="my_module_notes"></textarea>

Вот и всё — среда выполнения читает data-tsx-editor-context, находит сохранённую конфигурацию и применяет скин, панель и меню для этого контекста. Изменять базовые скрипты редактора не требуется.