11. Заглушки (Stubs)

Заглушка - це альтернатива простому приховуванню методу. Замість того щоб метод зник зі списку коли умови не виконані, ви можете показати клієнту інформативне повідомлення з поясненням чому метод недоступний.

Навіщо потрібні заглушки

Уявіть ситуацію: у вас є метод "Кур’єрська доставка" який працює тільки до 16:00. Якщо клієнт зайшов о 17:30, метод просто зникає зі списку. Клієнт думає "Чому немає кур’єра?" і йде шукати в інший магазин.

З заглушкою ви показуєте: "Кур’єрська доставка - доступна з 9:00 до 16:00 у робочі дні. Замовлення отримане пізніше відправляється наступного робочого дня.". Тепер клієнт знає що з методом і може обрати інший або дочекатись завтра.

Коли застосовувати заглушки
  • Метод недоступний за часом (вихідні, нічна доба, обідня перерва)
  • Метод недоступний за географією (тільки для певних регіонів)
  • Метод недоступний за сумою (мінімальна або максимальна)
  • Метод недоступний за статусом клієнта (тільки для зареєстрованих)
  • Будь-яка ситуація де відсутність методу не очевидна для клієнта

Налаштування заглушки

  1. Відкрийте редактор методу (де вже є умови)
  2. Знайдіть блок "Заглушка (Stub)" внизу редактора
  3. Увімкніть перемикач "Показувати заглушку замість приховування"
  4. Заповніть поля заглушки
  5. Збережіть метод
Налаштування заглушки
Увімкнення заглушки, її заголовок і опис у редакторі методу

Поля заглушки

ПолеОпис
Назва Заголовок методу-заглушки. Можна залишити порожнім - тоді буде використана оригінальна назва методу. Підтримує мультимовність.
Опис Текст пояснення під назвою. Тут пишіть чому метод недоступний. Підтримує HTML і мультимовність.
Сортування Позиція заглушки у списку методів. Зазвичай лишають як у оригінального методу.
Завжди показувати як заглушку "Розумна заглушка" - метод завжди неактивний (вибрати неможливо), використовується тільки для інформування. Корисно для статичних повідомлень.
Заглушка очима покупця
Метод показується неактивним з поясненням, чому він недоступний

Приклади заглушок

Приклад 1: кур’єр у неробочий час

Метод: "Кур’єрська доставка"

Умови: day in [Пн-Пт] AND time < 16

Заглушка:

  • Назва: "Кур’єрська доставка (недоступно)"
  • Опис: "Кур’єрська доставка приймає замовлення з 9:00 до 16:00 у будні. Якщо потрібно сьогодні - оберіть Самовивіз. Інакше замовлення буде відправлене наступного робочого дня вранці."
Приклад 2: мінімальна сума для COD

Метод: "Накладений платіж"

Умова: total >= 200

Заглушка:

  • Опис: "Накладений платіж доступний для замовлень від 200 грн. Додайте товарів у кошик щоб скористатися цим методом, або оберіть передоплату."

Клієнт одразу розуміє скільки йому не вистачає і що робити.

Приклад 3: розумна заглушка (always)

Сценарій: ви хочете показати клієнту інформаційний рядок про планову технічну перерву у методах оплати без жодних умов.

Метод: створюємо власну "оплату" з назвою "ℹ️ Технічна перерва"

Заглушка:

  • Перемикач "Завжди показувати як заглушку": увімкнено
  • Опис: "⚠️ Увага! 25 грудня з 3:00 до 6:00 буде планове оновлення системи оплат. Якщо ваше замовлення припадає на цей час - використайте інший метод."

Цей метод буде показуватись завжди, але клієнт не зможе його обрати. Просто інформація.

Заглушка чи приховування?

СитуаціяЩо краще
Метод не існує для цього регіону (Узбекистан, Європа)Приховування (зайва інформація)
Метод тимчасово недоступний (вихідні, нічна доба)Заглушка
Метод недоступний за сумою кошикаЗаглушка (клієнт може додати товарів)
Метод тільки для VIP-клієнтівПриховування (немає сенсу дражнити)
Кур’єр перевантажений на сьогодніЗаглушка з поясненням
Технічна перерва у платіжному шлюзіЗаглушка (always)