11. Заглушки (Stubs)
Заглушка - це альтернатива простому приховуванню методу. Замість того щоб метод зник зі списку коли умови не виконані, ви можете показати клієнту інформативне повідомлення з поясненням чому метод недоступний.
Навіщо потрібні заглушки
Уявіть ситуацію: у вас є метод "Кур’єрська доставка" який працює тільки до 16:00. Якщо клієнт зайшов о 17:30, метод просто зникає зі списку. Клієнт думає "Чому немає кур’єра?" і йде шукати в інший магазин.
З заглушкою ви показуєте: "Кур’єрська доставка - доступна з 9:00 до 16:00 у робочі дні. Замовлення отримане пізніше відправляється наступного робочого дня.". Тепер клієнт знає що з методом і може обрати інший або дочекатись завтра.
- Метод недоступний за часом (вихідні, нічна доба, обідня перерва)
- Метод недоступний за географією (тільки для певних регіонів)
- Метод недоступний за сумою (мінімальна або максимальна)
- Метод недоступний за статусом клієнта (тільки для зареєстрованих)
- Будь-яка ситуація де відсутність методу не очевидна для клієнта
Налаштування заглушки
- Відкрийте редактор методу (де вже є умови)
- Знайдіть блок "Заглушка (Stub)" внизу редактора
- Увімкніть перемикач "Показувати заглушку замість приховування"
- Заповніть поля заглушки
- Збережіть метод
Поля заглушки
| Поле | Опис |
|---|---|
| Назва | Заголовок методу-заглушки. Можна залишити порожнім - тоді буде використана оригінальна назва методу. Підтримує мультимовність. |
| Опис | Текст пояснення під назвою. Тут пишіть чому метод недоступний. Підтримує HTML і мультимовність. |
| Сортування | Позиція заглушки у списку методів. Зазвичай лишають як у оригінального методу. |
| Завжди показувати як заглушку | "Розумна заглушка" - метод завжди неактивний (вибрати неможливо), використовується тільки для інформування. Корисно для статичних повідомлень. |
Приклади заглушок
Метод: "Кур’єрська доставка"
Умови: day in [Пн-Пт] AND time < 16
Заглушка:
- Назва: "Кур’єрська доставка (недоступно)"
- Опис: "Кур’єрська доставка приймає замовлення з 9:00 до 16:00 у будні. Якщо потрібно сьогодні - оберіть Самовивіз. Інакше замовлення буде відправлене наступного робочого дня вранці."
Метод: "Накладений платіж"
Умова: total >= 200
Заглушка:
- Опис: "Накладений платіж доступний для замовлень від 200 грн. Додайте товарів у кошик щоб скористатися цим методом, або оберіть передоплату."
Клієнт одразу розуміє скільки йому не вистачає і що робити.
Сценарій: ви хочете показати клієнту інформаційний рядок про планову технічну перерву у методах оплати без жодних умов.
Метод: створюємо власну "оплату" з назвою "ℹ️ Технічна перерва"
Заглушка:
- Перемикач "Завжди показувати як заглушку": увімкнено
- Опис: "⚠️ Увага! 25 грудня з 3:00 до 6:00 буде планове оновлення системи оплат. Якщо ваше замовлення припадає на цей час - використайте інший метод."
Цей метод буде показуватись завжди, але клієнт не зможе його обрати. Просто інформація.
Заглушка чи приховування?
| Ситуація | Що краще |
|---|---|
| Метод не існує для цього регіону (Узбекистан, Європа) | Приховування (зайва інформація) |
| Метод тимчасово недоступний (вихідні, нічна доба) | Заглушка |
| Метод недоступний за сумою кошика | Заглушка (клієнт може додати товарів) |
| Метод тільки для VIP-клієнтів | Приховування (немає сенсу дражнити) |
| Кур’єр перевантажений на сьогодні | Заглушка з поясненням |
| Технічна перерва у платіжному шлюзі | Заглушка (always) |