Модификаторы
Требует включения модуля Модификаторы в Настройки → Модули
Модификаторы позволяют покупателю настроить блюдо перед добавлением в корзину: выбрать размер, степень прожарки, тип теста, уровень остроты и т.д.
Когда использовать модификаторы
Используйте модификаторы когда:
- Одно блюдо продаётся в нескольких размерах (маленький / средний / большой)
- Есть варианты приготовления (средняя / хорошо прожаренная / с кровью)
- Нужен выбор основы (тонкое тесто / толстое / на цельнозерновой муке)
- Покупатель должен обязательно выбрать что-то (нельзя добавить без выбора)
Пример: Пицца → группа «Тесто» → опции «Тонкое», «Толстое», «Борт с сыром»
Как это работает
- Вы создаёте группу модификаторов (например «Размер») и добавляете в неё опции (S, M, L)
- Привязываете группу к нужным блюдам — в форме каждого блюда
- Покупатель на витрине видит переключатель и выбирает нужную опцию
Модификатор — это всегда обязательный выбор одного варианта. Гость обязан выбрать ровно
одну опцию из каждой привязанной группы (нельзя выбрать две сразу и нельзя пропустить). Так
задумано: пицца не может быть одновременно 30 и 40 см. Поэтому в группе нет настроек
«обязательность» и «один/несколько» — это встроенное поведение.
Создание группы модификаторов
Перейдите в Меню → Модификаторы и нажмите «+ Добавить группу».
Поля группы
Название группы (обязательно) — отображается покупателю над опциями.
Примеры: «Размер», «Тесто», «Прожарка», «Острота».
Активна — тогл. Если выключена, группа и все её опции скрыты на витрине и не предлагаются при оформлении заказа вручную. Настройки блюд при этом целы: галочки вариантов, цены и множители размеров ждут возврата тогла.
Влияет на размер — тогл. Включите для размерной группы (S/M/L, диаметр): выбранный
вариант масштабирует всё блюдо — состав и себестоимость. Множители размера (во сколько раз
больше/меньше ингредиентов) задаются в карточке блюда, в секции «Модификаторы»: у каждого
блюда они свои. Для обычных вариантов (соус, прожарка, тесто) — выключено.
Обратно этот тогл не снимается. У размерной группы к вариантам привязаны цены блюд и
множители состава по размерам — сделав её обычной, вы потеряли бы их молча, поэтому у уже
размерной группы тогл заблокирован. Обычная группа стать размерной может (если у блюда ещё нет
другой размерной группы), а если размерность включили по ошибке — создайте нужную группу заново,
а эту удалите.
Добавление опций
Каждая строка в списке — отдельная опция.
| Поле | Обязательно | Описание |
|---|---|---|
| Название опции | Да | Например: «Маленький», «Тонкое», «Средняя» |
| В продаже | Нет (по умолчанию включено) | Тумблер конкретного варианта. Выключили — вариант уходит у гостя во всех блюдах сразу (и во всех филиалах: у вариантов нет отдельной настройки по точкам), а все настройки остаются: цены вариантов в карточках, множители размеров, расход по составу. Включили обратно — вариант вернулся везде, перебивать ничего не надо |
Нажмите «+ Добавить опцию» чтобы добавить новую строку. Вариантов должно быть минимум два — гость обязательно выбирает один из группы, поэтому «выбор» из единственного варианта это просто навязанная доплата. Группу с одним вариантом сохранить не получится
Кончился один вариант — выключайте его, а не удаляйте. Классический случай: кончились
коробки под большую пиццу, привезут через час. Выключите тумблер «В продаже» у варианта
«Большая» — гость перестанет его видеть во всех пиццах, а через час вы вернёте тумблер и всё
заработает как было. Удаление варианта, наоборот, сносит его цены и расход во всех блюдах
безвозвратно, а обходить блюда по одному и снимать галочки — это вечер работы.
Останется в продаже один вариант — форма скажет вам об этом сразу. Выключаете тумблер у
предпоследнего варианта — под списком вариантов появляется жёлтая заметка: «В продаже останется
один вариант. У блюд с этой группой гость получит его без выбора — вместе с доплатой и
списанием». Вернули тумблер обратно — заметка пропала. Держать её в голове больше не нужно.
Это предупреждение, а не запрет — сохранить группу вам никто не мешает. Иногда так и надо:
«осталось только тонкое тесто, до вечера». Просто знайте, что в этот вечер единственное тесто
уедет в каждый заказ само, со своей доплатой и со своим расходом по составу.
Выключили последний вариант — форма скажет об этом отдельно, и это важнее. Если в продаже не
осталось ни одного варианта, заметка меняется: «В продаже не останется ни одного варианта. Гость
вообще не увидит эту группу — блюдо уйдёт без обязательного выбора, без доплаты и без списания».
Группа с пустым списком вариантов пропадает с сайта целиком, а блюдо продолжает продаваться —
просто уже без обязательного выбора: гость не доплатит за вариант, и со склада ничего не спишется.
Со стороны это выглядит как «всё настроено», поэтому мы и говорим прямо.
Если выбирать больше не из чего совсем — выключайте группу целиком, тумблером «Активна» в
строке группы. Тогда гость не увидит ни группы, ни навязанной доплаты, а цены и множители
сохранятся так же, как при выключении варианта. У выключенной группы заметок нет — вы уже сами
решили, что группы у гостя быть не должно.
Правило «минимум два варианта» этот случай не ловит и ловить не должно: оно считает варианты
группы, а не то, сколько из них сейчас в продаже.
Витрина подхватывает изменение в течение минуты-двух — меню отдаётся из кэша. Если сразу
после клика вы видите вариант на сайте, это нормально: обновите страницу через минуту, второй
раз выключать не нужно. Отдельно заказать выключенный вариант в блюде гость за это время не
сможет — сервер такой заказ не примет.
Комбо-наборы, в которых этот вариант зашит, тоже уйдут с витрины на время — набор нельзя
собрать без варианта, которого нет. Вернёте тумблер — наборы вернутся вместе с ним. ⚠️ Набор,
уже лежащий у гостя в корзине, в это окно всё ещё может быть оформлен — если такой заказ
пришёл, свяжитесь с гостем и предложите замену.
Один случай, когда вернуть тумблер сразу не получится: если у какого-то блюда этому варианту
задана скидка (отрицательное «± к цене»). Система скажет об этом и назовёт блюдо — сначала
поправьте скидку в карточке, потом возвращайте вариант в продажу.
Сортировка опций — перетаскивайте строки за иконку ⠿. Порядок отображается покупателю именно так.
Важно: Нельзя сохранить группу без хотя бы одной заполненной опции.
Привязка к блюдам
Просто создать группу недостаточно — её нужно привязать к конкретным блюдам.
- Откройте форму редактирования блюда
- Перейдите в секцию «Модификаторы»
- В списке «Доступные группы» нажмите «+ Добавить» рядом с нужной группой
После привязки настройте опции для этого конкретного блюда:
| Настройка | Описание |
|---|---|
| Чекбокс опции | Включите чтобы опция была доступна для этого блюда |
| +₽ | Добавочная цена за эту опцию (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 ₽»), цену блюда нельзя опустить ниже этой скидки — ни при включённой группе, ни при выключенной. Карточка скажет об этом сразу и назовёт сумму. Так и задумано: иначе группу потом не получится включить обратно — позиция уходила бы в минус, и система не дала бы вернуть тогл. Хотите цену ниже — сначала уменьшите скидку размера на вкладке «Размеры и модификаторы» (поле «± к цене» видно и правится, даже когда группа выключена).
- Удешевлять позицию может только размер. У обычной группы («Соус», «Начинка») поле «± к цене» минус не принимает — оно только добавляет. Если у блюда всё же лежит удешевляющий вариант обычной группы (такое осталось у карточек, настроенных по прежним правилам), карточка не сохранится, пока скидку не уберут: она называет вариант и группу, а поле «± к цене» рядом. Это же — причина, по которой размерную группу нельзя сделать обычной.