/База знаний

Модификаторы

Модификаторы позволяют покупателю настроить блюдо перед добавлением в корзину: выбрать размер, степень прожарки, тип теста, уровень остроты и т.д.

Когда использовать модификаторы

Используйте модификаторы когда:

  • Одно блюдо продаётся в нескольких размерах (маленький / средний / большой)
  • Есть варианты приготовления (средняя / хорошо прожаренная / с кровью)
  • Нужен выбор основы (тонкое тесто / толстое / на цельнозерновой муке)
  • Покупатель должен обязательно выбрать что-то (нельзя добавить без выбора)

Пример: Пицца → группа «Тесто» → опции «Тонкое», «Толстое», «Борт с сыром»

Как это работает

  1. Вы создаёте группу модификаторов (например «Размер») и добавляете в неё опции (S, M, L)
  2. Привязываете группу к нужным блюдам — в форме каждого блюда
  3. Покупатель на витрине видит переключатель и выбирает нужную опцию

Создание группы модификаторов

Перейдите в Меню → Модификаторы и нажмите «+ Добавить группу».

Поля группы

Название группы (обязательно) — отображается покупателю над опциями.
Примеры: «Размер», «Тесто», «Прожарка», «Острота».

Активна — тогл. Если выключена, группа и все её опции скрыты на витрине и не предлагаются при оформлении заказа вручную. Настройки блюд при этом целы: галочки вариантов, цены и множители размеров ждут возврата тогла.

Влияет на размер — тогл. Включите для размерной группы (S/M/L, диаметр): выбранный
вариант масштабирует всё блюдо — состав и себестоимость. Множители размера (во сколько раз
больше/меньше ингредиентов) задаются в карточке блюда, в секции «Модификаторы»: у каждого
блюда они свои. Для обычных вариантов (соус, прожарка, тесто) — выключено.

Добавление опций

Каждая строка в списке — отдельная опция.

Поле Обязательно Описание
Название опции Да Например: «Маленький», «Тонкое», «Средняя»
В продаже Нет (по умолчанию включено) Тумблер конкретного варианта. Выключили — вариант уходит у гостя во всех блюдах сразу (и во всех филиалах: у вариантов нет отдельной настройки по точкам), а все настройки остаются: цены вариантов в карточках, множители размеров, расход по составу. Включили обратно — вариант вернулся везде, перебивать ничего не надо

Нажмите «+ Добавить опцию» чтобы добавить новую строку. Вариантов должно быть минимум два — гость обязательно выбирает один из группы, поэтому «выбор» из единственного варианта это просто навязанная доплата. Группу с одним вариантом сохранить не получится

Сортировка опций — перетаскивайте строки за иконку ⠿. Порядок отображается покупателю именно так.

Привязка к блюдам

Просто создать группу недостаточно — её нужно привязать к конкретным блюдам.

  1. Откройте форму редактирования блюда
  2. Перейдите в секцию «Модификаторы»
  3. В списке «Доступные группы» нажмите «+ Добавить» рядом с нужной группой

После привязки настройте опции для этого конкретного блюда:

Настройка Описание
Чекбокс опции Включите чтобы опция была доступна для этого блюда
+₽ Добавочная цена за эту опцию (0 = бесплатно). Прибавляется к базовой цене блюда. Только 0 или больше — опция не может удешевлять блюдо
По умолч. Кнопка-переключатель. Нажмите чтобы сделать эту опцию выбранной по умолчанию (только одна на группу). Подсвечивается синим когда активна

Пример: Пицца «Маргарита», группа «Размер» (базовая — самая маленькая):

  • Маленькая (26 см) — +0 ₽, по умолчанию
  • Средняя (30 см) — +150 ₽
  • Большая (35 см) — +300 ₽

На pro-тарифе в этой же секции задаётся и расход: граммы по опциям (насколько опция добавляет или убавляет ингредиент — «Двойной сыр» +30 г) и множители у размерной группы. Всё про одно блюдо настраивается в одном месте — в его карточке.

Дешевле блюда может быть только размер. Меньший размер ставится со знаком минус («Мини −60 ₽») — базовую цену блюда и остальные варианты при этом перебивать не нужно. Поэтому и заголовок колонки разный: у размерной группы «± к цене», у обычной «+ к цене». Обычный вариант («+сыр», «острый соус») минус не принимает: он только добавляет к цене, а карточка подскажет, что скидку ставят в размерной группе. И ещё одна граница — скидка размера не больше цены самого блюда, иначе позиция ушла бы в минус; такую цену не примет ни карточка, ни база.

Проверка срабатывает, когда вы уходите из поля, а не на каждую набранную цифру: пока печатаете, карточка не спорит. Ввели скидку глубже цены блюда — на выходе из поля значение подрежется до границы, и вы увидите, до какой именно.

Цена варианта на разных размерах

Один и тот же вариант может стоить по-разному на разных размерах. Сырный борт на большой пицце стоит дороже, чем на маленькой, — теперь так и задаётся. Если к блюду привязана размерная группа, в таблице вариантов каждой другой группы рядом с колонкой «+ к цене» встаёт по колонке на каждый размер: «+ к цене · 25 см · 30 см · 35 см». Впишите свои цифры — «Сырный борт: 100 ₽ на 25 см, 150 ₽ на 30 см, 200 ₽ на 35 см». Гость видит цену того размера, который выбрал; переключил размер — цена варианта пересчиталась у него на глазах, и в заказ ушла именно она.

Пустая ячейка размера значит «как обычно» — вариант стоит столько, сколько написано в колонке «+ к цене». Чтобы не считать в уме, эта цифра бледно показана прямо в пустой ячейке. Заполнять все размеры не нужно: ставьте цену там, где она отличается, остальные возьмут обычную. Передумали — очистите ячейку, и размер снова вернётся к обычной цене.

⚠️ Ноль — это не пусто. «0» в ячейке значит «на этом размере вариант бесплатный», и это настоящая настройка, а не отсутствие настройки. Чтобы вернуть обычную цену, ячейку нужно именно очистить, а не занулить.

Правила у этих ячеек ровно те же, что у колонки «+ к цене» рядом: минус в обычной группе не принимается (скидку ставят в размерной), а у размера скидка не глубже цены самого блюда. Добавили в группу новый размер — сначала отметьте его галочкой у блюда, и тогда рядом встанет его колонка, пустая: на новом размере варианты стоят как обычно, пока вы не решите иначе.

⚠️ У самой размерной группы таких колонок нет — и не нужно: цена размера и есть цена размера, а «сколько стоит «Большая», когда выбрана «Маленькая»» — вопрос без ответа, гость выбирает один размер.

Гость видит цены размеров иначе, чем вы. Вы задаёте разницу к цене блюда, а в карточке на сайте у каждого размера стоит полная цена. Ваше «Капучино 220 ₽, Маленький −70 ₽» гость читает как «Маленький 150 ₽», «Средний 220 ₽», «Большой 270 ₽», а на плитке в каталоге видит «от 150 ₽». Минусов в меню гость не видит вовсе, и считать в уме ему не приходится: цена варианта — это цена блюда, если его выбрать.

⚠️ Полная цена появляется только у группы с тоглом «Влияет на размер». Группа без него — хоть она и называется «Объём» — показывается надбавкой, как обычные добавки. Хотите, чтобы гость видел цены целиком, — включите тогл.

Все остальные группы показываются надбавкой — «Сироп +50 ₽». Полная цена там сбивала бы с толку: «Сироп 270 ₽» читается как цена сиропа.

Надбавка у обязательной группы считается по-разному, и это не прихоть — так сходятся цифры на экране:

  • у блюда есть размер — надбавка идёт к цене размера: «30 см 500 ₽» плюс «Тонкое +50» даёт 550 ₽ на кнопке, и гость видит, из чего сложилась сумма;
  • размера у блюда нет — надбавки считаются от самого дешёвого варианта группы: «Тонкое» без доплаты, «Толстое +50». Полтинник за тонкое уже сидит в ценнике «от 550 ₽», и показывать его второй раз значило бы обещать 600.

⚠️ Если у блюда есть и размер, и вторая обязательная платная группа, ценник «от» будет выше самой дешёвой цены размера. Пицца 500 ₽, тесто обязательное и стоит от 100 ₽: в каталоге «от 600 ₽», а в карточке «30 см 500 ₽» плюс «Тонкое +100 ₽» — на кнопке те же 600 ₽. Так и задумано: цена размера это цена размера, а тесто гость доплачивает сверху и видит, сколько. Хотите, чтобы ценник в каталоге совпадал с ценой размера, — сделайте в обязательной группе бесплатный вариант.

Расход задаётся только у вариантов, отмеченных галочкой у блюда. Сняли галочку — вариант перестаёт предлагаться гостю, но настройки целы: цена варианта и расход сохраняются и вернутся вместе с галочкой. Множитель размера, цена варианта и кнопка «По умолч.» при этом остаются на экране: видны, но заперты, и рядом написано «отключено на витрине» — так вы всегда знаете, какая цена вернётся вместе с галочкой. Если вариант выключен тумблером «В продаже» в самой группе, в строке будет другая пометка — «отключён в модификаторе»: значит гость его не видит ни в одном блюде, и включать надо там, а не здесь. Если вариант был «по умолчанию», дефолт автоматически уезжает на соседний. Поставили галочку обратно — всё вернулось, перебивать ничего не надо. Добавили в группу НОВЫЙ вариант — в карточках блюд он появится неотмеченным и залоченным: сначала галочка, потом настройки. Отвязали группу от блюда целиком — граммы по опциям и множители размеров этого блюда стираются: настраивать их заново придётся с нуля. Единственное, что переживает отвязку, — перебитые вручную ячейки в «Составе по размерам» (когда вы вписали своё количество поверх расчётного): они сохраняются и снова заработают, если группу вернуть.

Управление группами

На странице «Меню → Модификаторы» вы видите таблицу со всеми группами. Над ней — панель: слева поиск по названию группы, справа кнопки Экспорт (CSV / Excel / PDF, выгружает текущую выборку целиком) и Добавить группу. Таблица сортируется по названию (стрелки в шапке) и листается страницами внизу (10/25/50/100 строк, размер запоминается; при коротком списке переключателя нет).

  • Открыть — клик по названию группы. По самой строке кликать не нужно.
  • Редактировать — изменить название, опции, тогл «Влияет на размер»
  • Выключить (тогл «Активна») — скрыть группу и все опции без удаления
  • Удалить — удаляет группу вместе с привязками к блюдам. Система спросит подтверждение: «Группа «Размер» будет удалена. Привязки к блюдам тоже исчезнут.»

«Доступно только при выборе» — когда вариант бывает не для всего

Борт делаем только для большой пиццы. Присыпку — только на тонком тесте. Уровень льда спрашиваем
только у холодного кофе. Это одна и та же настройка: вы говорите, при каком выборе гостя
показывать группу или отдельный вариант.

Настраивается в карточке блюда, вкладка «Размеры и модификаторы», в списке модификаторов. У
каждой группы справа — кнопка («Ограничение «Доступно только при выборе»»), под ней меню из
трёх взаимоисключающих пунктов: «Без ограничения», «Ограничение на всю группу» и
«Ограничение по отдельным опциям». Второй и третий пункты — одна и та же настройка, просто
разное место на экране (контрол либо под названием группы целиком, либо у каждого варианта в
таблице своей колонкой); выбор пункта меню решает только, что показывать сейчас, обе настройки
хранятся, пока их не поменяли явно. Выбрали режим — появился мультиселект: отмечаете группу, от
которой зависит, и значения, при которых показывать. Массовое «нет в продаже» для всех вариантов
группы разом — отдельный переключатель «Доступна у этого блюда» у названия группы, к ограничению
«Доступно только при выборе» отношения не имеет.

Пример. У пиццы две группы: «Размер» (25 см, 30 см, 40 см) и «Борт» (без борта, сырный,
колбасный). Открываем ⋮ у «Борт» → «Ограничение на всю группу» → в появившемся списке выбираем
«Размер»: «30 см» и «40 см». Всё: на 25 см группы «Борт» гость не увидит вовсе, на 30 и 40 —
увидит.

Отмечать можно несколько значений — у Domino's, например, орегано идёт к одному тесту, а
чесночная присыпка к другому. И ограничить можно как всю группу («Борт» целиком), так и
один вариант внутри группы («колбасный борт не делаем на 30 см, только на 40»).

Порядок групп важен

Зависеть можно только от группы, которая стоит ВЫШЕ в карточке блюда. Это не формальность:
порядок групп в карточке — это порядок, в котором гость выбирает. Спрашивать про борт раньше, чем
про размер, а потом прятать борт по размеру, — значит прятать то, что гость уже выбрал.

Поэтому сначала поставьте «Размер», под ним «Борт» — и только тогда в списке «Доступно только при
выборе…» у борта появится «Размер». Если групп выше нет вовсе (борт — первая группа), ссылки
не будет: ограничивать не по чему.

Перетащить зависимую группу выше её группы-ограничителя система не даст и объяснит, почему:
«„Борт“ доступна только при выборе из группы „Размер“ — её нельзя поставить выше „Размера“.
Сначала уберите ограничение». Молча снять ваше ограничение она не имеет права — так меню и портится.

Что видит гость

  • Недоступное не показывается вообще. Не серая кнопка, не «недоступно» — просто нет на экране.
    Гостю не с чем бороться.
  • Если недоступны все варианты группы — гость не видит и саму группу: заголовок без единого
    варианта ему не нужен.
  • Сменил размер после выбора борта — борт снимется, и об этом будет написано. «Для «25 см»
    «Сырный борт» не делаем — выбрали «Без борта»», цена на кнопке пересчитается на глазах. Молча
    снимать нельзя: меняются деньги.
  • Вернул размер обратно — борт снова доступен, но не выбран. Гость выбирает его заново сам:
    возвращать за него платную позицию нечестно. Если вместо снятого варианта подставился платный
    вариант по умолчанию, гость увидит и это: «Вернули «Сырный борт», +200 ₽».

«Закончилось» и «больше не продаём» — разные кнопки

Это самое важное про ограничения, и путать их дорого.

  • Вариант закончился на вечер — выключите тумблер «В продаже». Гость его не увидит, а все
    ограничения, где он участвует, останутся целы. Привезли — включили обратно, и «Сырный борт только
    на 40 см» работает как раньше, ничего настраивать не нужно.
  • Удаление варианта или группы снимает ограничения насовсем. Вернёте потом — настраивать
    придётся заново, и никто не напомнит, как было. Поэтому перед удалением карточка показывает, где
    это ограничение сейчас работает, и называет блюда по именам: решать вам, но с открытыми глазами.
  • Пока разрешённый вариант выключен, ограничение просто ждёт. В настройке видно строчку вида
    «Сейчас не работает: «40 см» отключён в модификаторе» — это не поломка: гость временно не увидит
    зависимую точку, а вернёте размер в продажу — всё заработает само.
  • Убрали у блюда саму группу-условие (например, сняли с пиццы «Размер») — держать «только на
    40 см» больше не за что, и ограничение снимется. Карточка об этом скажет, а не сделает молча.

Ещё пара вещей

  • Ограничение действует только на это блюдо. Одну пиццу можно сделать с бортом на всех
    размерах, другую — только на большом: настройка одной не задевает другую.
  • Сервер проверяет то же самое при оформлении заказа — комбинация, которой в меню нет, не
    пройдёт, даже если её собрать в обход сайта.
  • Копирование переносит ограничения. «Скопировать настройки» и «Создать на основе» тянут их
    вместе с модификаторами — перенастраивать заново не надо.

Советы

  • Не создавайте группу на каждое блюдо. Если у 10 пицц одинаковые размеры — создайте одну группу «Размер пиццы» и привяжите ко всем 10. При изменении цены достаточно поправить в одном месте.
  • Порядок важен. Первая опция в списке — обычно базовая (самая дешёвая/маленькая) и её ставят «по умолчанию». Покупатель видит их в вашем порядке.
  • Неактивная группа vs Удаление — если группа временно не нужна, лучше выключить, а не удалять. Удаление уберёт все привязки к блюдам. Выключение — нет: пока группа отключена, отмеченные у блюд варианты, их цены и множители размеров сохраняются, и блюда в это время можно редактировать — менять фото, состав, описание. Включили обратно — настройки блюд на месте.
  • Одно исключение — цена блюда «в минус» от скидки размера. Если у блюда есть удешевляющий размер (например, «Мини −200 ₽»), цену блюда нельзя опустить ниже этой скидки — ни при включённой группе, ни при выключенной. Карточка скажет об этом сразу и назовёт сумму. Так и задумано: иначе группу потом не получится включить обратно — позиция уходила бы в минус, и система не дала бы вернуть тогл. Хотите цену ниже — сначала уменьшите скидку размера на вкладке «Размеры и модификаторы» (поле «± к цене» видно и правится, даже когда группа выключена).
  • Удешевлять позицию может только размер. У обычной группы («Соус», «Начинка») поле «± к цене» минус не принимает — оно только добавляет. Если у блюда всё же лежит удешевляющий вариант обычной группы (такое осталось у карточек, настроенных по прежним правилам), карточка не сохранится, пока скидку не уберут: она называет вариант и группу, а поле «± к цене» рядом. Это же — причина, по которой размерную группу нельзя сделать обычной.