Перейти к основному содержимому

Модульная система

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 - применить колбэки фильтров, добавленных на хук.