Є чимало випадків, коли потрібно зробити багато функціоналу на створенні запису:
- додати складні перевірки
- заповнити поля, які потім не можуть змінюватись
- створити додаткові об'єкти складної структури
- униктуни рекурсивного створення
- нестандартна логіка створеня запису
А тепер давайте ускладнимо задачу: логіка має працювати лише при створені запису з інтерфейсу, а при створені кодом працює стандартна логіка.
<tree create="false">
Можна просто заборонити створювати запис через інтерфейс та викликати візард через окремий пункт меню і викликати кастомний візард.
Тут все непогано, окрім того, що користувач тепер має знати про цей пункт меню, а не використовувати кнопку, до якої звик.
Для додавання такої функціональності використовуємо модуль crnd_web_on_create_action
<tree class="on-create-action-name-my_module.my_custom_wizard_act_window">
Тобото після префіксу on-create-action-name- вказуєемо повний зовнішній ID дії, яку ми хочемо викликати. Причому це може бути взагалі будь-яка дія, прив'язана до будь-якої моделі.
Важливо, не забути поставити модуль в залежності, не переплутати префікс та вказати саме повний зовнішній ID дії.