Прежде чем приступить к кастомизации -
небольшая вводная от Академии 1С-Битрикс.
Давайте разберемся в продуктах, терминологии и спектре возможностей по кастомизации Битрикс24.
-
«1С-Битрикс: Управление сайтом»
Профессиональная система управления сайтами и интернет-магазинами.
Обычно именно этот продукт разработчики привыкли называть "Битрикс". Далее в уроке будем называть сокращенно – «БУС».
-
Битрикс24
Это полный комплект инструментов для организации работы компании, он представлен в двух версиях:
1) Как онлайн-сервис или SaaS (Software as a Service — программное обеспечение как услуга).
2) Как коробочный продукт (On-Premise), который разворачивается на мощностях клиента и сопровождается его силами.
-
Bitrix Framework
Коробочная версия Битрикс24 и «1С-Битрикс: Управление сайтом» реализованы на одной технологической платформе Bitrix Framework.
Несмотря на единую платформу, есть большие отличия в реализации продуктов. В Битрикс24 вы встретите много других модулей, например: CRM, Задачи, Push and Pull.
Веб-сервер для полноценной работы Битрикс24 требует большего количества настроек, чем для "1С-Битрикс: Управление сайтом", поэтому в качестве сервера разработки рекомендуем нашу виртуальную машину, она хорошо подготовлена.
И, конечно, это разный подход к кастомизации.
Полезно
Администрирование production-сервера и настройка платформы
Администрирование production-сервера клиента — это отдельная большая и серьёзная компетенция системного администрирования.
Большое внимание уделяется производительности, конфигурированию серверного ПО и платформы (например, авторизация пользователей через внутренние ресурсы компании), безопасности данных (без прямого публичного доступа, размещение в частном облаке или даже закрытом контуре, правила и регламенты для защиты информации), системному подходу к обновлению ПО и поддержке 24/7.
Важные аспекты конфигурации ПО и платформы, которые нужно понимать как разработчику, так и системному администратору, рассказываем в отдельном курсе по производительности [скоро опубликуем]..
Как нельзя кастомизировать Битрикс24
Важно!
Если у вас есть опыт кастомизации дизайна или функционала сайтов и интернет-магазинов на базе БУС, то может показаться, что будет правильно использовать все эти же подходы и для Битрикс24, но это неверно!
Ключевое отличие в публичной части:
-
Публичная часть сайта или интернет-магазина на БУС - это индивидуальная история каждого проекта по структуре, содержанию, дизайну.
-
Публичная часть Битрикс24 - это интерфейс готового и очень сложного продукта, который постоянно обновляется. Он также относится к ядру платформы!
Как вы наверняка знаете, ядро нельзя модифицировать: изменения могут быть потеряны при очередном обновлении. У клиентов всегда должен быть обновленный Битрикс24 - это новые возможности, которые выходят постоянно, кроме того, это безопасность.
При кастомизации Битрикс24 вы НЕ можете:
- Вносить изменения напрямую в файлы ядра (в том числе в типовые страницы публичной части)!
- Применять стандартный для БУС подход: модифицировать типовые публичные страницы и интерфейсы, переопределяя их копированием компонентов, шаблонов и других файлов в
\local\
.
Всегда нужно размышлять так: директории ядра, интерфейсы каждой страницы Битрикс24 в любой момент могут быть обновлены вендором:
- bitrix/modules;
- bitrix/components;
- bitrix/js;
- bitrix/templates;
- bitrix/*;
- стандартные страницы публичной части портала.
Даже если вам кажется, что доработка небольшая и "ничего страшного" не случится, если скопировать шаблон компонента и немного его доработать, то это не так.
При очередном обновлении клиент не увидит новинок, которые он ожидал. Это могут быть новые поля, возможности, связи с другими новыми объектами и т.д., не говоря уже о потенциальных ошибках, которые могут появиться позже, так как ваш код не учитывает обновления.
Как можно кастомизировать Битрикс24!
Часть подходов кастомизации БУС актуальна для коробочного Битрикс24, кроме того, появляются новые инструменты.
No-code и low-code инструменты
Вполне возможно, задача решается и вовсе без программирования, в Битрикс24 очень развиты no-code и low-code инструменты. О них расскажем в этом уроке позже.
-
Встройка в интерфейс на CSS/JS
Самый простой способ кастомизировать интерфейс, но этот подход на грани, можно сказать, «хак». С одной стороны, вы не меняете напрямую файлы, с другой – встройка привязывается к элементу стандартного интерфейса, который может быть изменен, поэтому после обновления нужно проверять корректность работы ваших доработок. Ваше решение подгружается после загрузки DOM в браузере, это может быть заметно для пользователя. -
Обработчики событий
В ходе выполнения некоторых API функций в определённых точках устанавливаются вызовы обработчиков события. Для простоты можно размышлять так: у сущности есть события до и после создания/обновления/удаления, которые можете использовать и повлиять на значения полей сущности, выполнить практически любой нужный вам код. Есть и события системных модулей, например, главного модуля на завершение создания страницы, позволяющее встроиться и модифицировать контент перед показом пользователю. Перечень доступных событий смотрите в документации. -
Агенты
Технология, позволяющая запускать произвольные PHP-функции с заданной периодичностью, подходит только для периодически повторяющихся действий, например, удаление, импорт, экспорт данных, проверка состояния объектов. Это агенты в Битрикс24, которые могут быть настроены через административный интерфейс или программно. Агенты работают на сервере и могут выполнять задачи в фоновом режиме, не требуя вмешательств пользователя. -
Свой тип пользовательского поля
Позволит реализовать собственный интерфейс для вывода и редактирования значения поля.
-
Свои действия БП
Позволит дополнить конструктор бизнес-процессов (БП) действием со своей бизнес-логикой. Также в дизайнере бизнес-процессов есть действие «свой PHP код», возможно, его будет достаточно для решения простой задачи и без создания своего действия. -
Создание своего раздела и сущности
Конечно, вы можете создать свои разделы и страницы в публичной части Битрикс24. Свои сущности можно создавать на базе инфоблоков, Highload-блоков или ORM для таблиц; использовать интерфейс списков и стандартных компонентов, создавать свои компоненты и шаблоны, а также разрабатывать полностью свои модули и интерфейсы. В этом плане у разработчиков большая свобода действий по доработке коробочного Битрикс24.
Методика выполнения доработок
- Обычный подход - реализовать свой модуль, об этом мы рассказывали в курсе "Дизайн и контент". Модуль обеспечит централизованное хранение кастомной бизнес-логики.
- Для переноса доработок с dev на production используются миграции, о них мы расскажем в этом курсе.
No-code и low-code инструменты кастомизации
Прежде чем открывать редактор кода, обратите внимание на no-code и low-code инструменты. Возможно, ваша задача решается очень легко в рамках готовых инструментов и не потребует дальнейшей заботы и сопровождения.
No-code
Сделки в CRM, задачи, смарт-процессы и другие объекты могут быть автоматизированы с помощью роботов и триггеров.
![картинка](/upload/academy-docs/course_smartprocess/img_content/m5_l4_3_s_654.png)
Эти инструменты отлично подходят, чтобы упростить работу сотрудников в рутинных операциях. К примеру, они могут автоматически создать документ, напомнить о сроках, уведомить руководителя о том, что не все идет по плану, изменить данные или сменить стадию. Они решают большой спектр задач и значительно повышают эффективность работы.
Полезно
Настройку роботов на примере кейсов мы подробно разбирали в курсе «No-сode в Битрикс24».
Информацию о детальной настройке вы найдете в статьях поддержки.
Бизнес-процессы
Бизнес-процессы — это инструмент для переноса в электронный вид регулярных процессов компании, таких как согласование счета или отпуска, утверждение документа у руководителя и юристов, действия при работе с клиентами и так далее.
![картинка](/upload/academy-docs/course_smartprocess/img_content/m5_l4_4_s_654.png)
Технически бизнес-процесс — это цепочка небольших действий, выстроенных в определенной логической последовательности. Существует большое количество действий на самые разные задачи, и кроме того, вы можете добавить свое действие. Это позволяет гибко настраивать процессы в соответствии с уникальными требованиями и процедурами вашей компании, обеспечивая эффективность и автоматизацию рутинных задач.
Полезно
Созданию бизнес-процессов посвящен наш отдельный курс.
Смарт-процессы
В Битрикс24 можно создавать отдельные цифровые рабочие места со своим уникальным функционалом под конкретные задачи компании.
![картинка](/upload/academy-docs/course_smartprocess/img_content/m5_l4_5_s_654.png)
-
Интерфейс
Смарт-процессы предоставляют возможность настраивать интерфейс в соответствии с конкретной задачей. Это означает, что пользователи могут получить удобный и интуитивно понятный интерфейс, специально адаптированный для выполнения определенных задач. -
Данные
Смарт-процессы обеспечивают сохранение и доступ ко всей необходимой информации. Это любые данные, которые могут быть важными для успешного выполнения задач, создают эффективное взаимодействие с коллегами и клиентами. -
Автоматизация
Доступны роботы, триггеры, бизнес-процессы и даже веб-хуки с REST API - все включено.
Это очень мощный инструмент, который может заменить разработку своих сложных сущностей, компонентов, интерфейсов. Крайне рекомендуем к ознакомлению.
Полезно
По созданию цифровых рабочих мест на базе смарт-процессов есть отдельный курс.
REST API
REST API — это набор методов, доступных для вызова в виде обычного HTTP-запроса. Иными словами, это API, который вы сможете использовать в программном коде на любых языках для веб-разработки, а также в большинстве традиционных языков программирования.
Подходит и для облака, и для коробки
Применяется как для облака, так и для коробочного решения. Это позволяет вам создавать универсальные решения и многократно использовать свой код для разных проектов.
Какие задачи вы можете решить:
- Обработка данных.
- Реакция на изменения.
- Встройка виджетов.
Полезно
REST API посвящен отдельный курс, а так же доступна документация.
Если ни один из способов no-code и low-code кастомизации, REST API не решает вашу задачу, выбирайте доработку коробочного Битрикс24 «классическим» программированием.