Модульная система
Evolutrix CRM | Модули — это отдельные проекты, интегрируемые в EvolutrixCRM | Core для расширения его возможностей.
Репозитории модулей доступны по ссылке: https://gitlab.develop.evolutrix.ru/evolutrix/modules.
Хуки жизненного цикла
Интеграция модулей в EvolutrixCRM | Core происходит с помощью взаимодействия с хуками жизненного цикла (вдохновлено Wordpress). В отличие от Wordpress, архитектура Evolutrix CRM реализует не SSR (Server Side Rendering), а CSR (Client Side Rendering) - т.е. рендер клиентской стороны проекта происходит не на сервере, а в браузере клиента. Именно поэтому, в отличие от Wordpress, хуки жизненного цикла EvolutrixCRM делятся на два типа:
- Клиентские хуки жизненного цилка - хуки для расширения визуальной составляющей проекта и его клиентской логики.
- Серверные хуки жизненного цикла - хуки для расширения серверной логики проекта.
В обоих случаях хуки жизненного цикла бывают двух видов:
- Действия (Actions) позволяют добавлять данные или изменять поведение EvolutrixCRM. Действия будут запускаться в определенный момент внутри EvolutrixCRM | Core и/или EvolutrixCRM | Модулей. Колбэки (Callback functions) для действий могут выполнять разные задачи, такие как пользовательский вывод или добавление чего-нибудь в базу данных. Колбэки для действий ничего не возращают назад при добавлении на хук.
- Фильтры (Filters) дают возможность изменить данные в процессе выполнение EvolutrixCRM | Core и/или EvolutrixCRM | Модулей. Колбэки (Callback functions) для фильтров могут принимать переменные, изменять и возращать их. Все они работают в отдельности друг от друга и не должны создавать никаких побочных действий, такие как изменение глобальных переменных или вывод. Фильтры обязательно должны вернуть что-нибудь назад.
Полный список доступных хуков жизненного цикла и примеры взаимодействия с ними описаны в соответствующих разделах EvolutrixCRM | Core и EvolutrixCRM | Модули
Функции для взаимодействия с хуками
Функции для добавления колбэка на хук:
- add_action - добавить колбэк действия на хук.
- add_filter - добавить колбэк фильтра на хук.
Функции, запускающие колбэки, которые были добавлены на хук:
- do_action - выполнить колбэки действий, добавленных на хук.
- apply_filters - применить колбэки фильтров, добавленных на хук.