ITKUP
Личный блог на тему разработки, IT. Учусь, записываю, анализирую.

Bitrix24: Как кастомизировать Bitrix24

Битрикс штука страшная. С одной стороны это огромный местами запутанный монстр-проект, с другой это хорошо продуманный инструмент, позволяющий творить если не все, то очень многое. На начальном этапе знакомства с ним мною было допущено несколько (благо не совсем фатальных) ошибок, которые привели к тому, что машину приходилось перенастраивать заново. Чтобы избежать всего этого кошмара (работал с коробочной версией) лучше на берегу определить для себя ту черту, за которую переступать не стоит...

Ошибки в кастомизации приводят к потере данных, нестабильной работе, проблемам с обновлениями. И, как сказано в официальной документации, "обновления — это не формальность, а способ избежать реальных рисков" и лучше бы их не пропускать. Учимся работать правильно, это позволит:

  • устанавливать обновления и не потерять свои наработки,
  • избежать конфликтов с новыми версиями,
  • обеспечить стабильную работу,
  • не потерять официальную поддержку.
Подготовка среды
  • Создаем резервные копии. Обязательно и регулярно. Совсем в идеале: новый день - новая резервная копия. Это защитит от потери данных в случае ошибок.
  • Настраиваем отдельную машину для разработки. Минимизирует ущерб в случае ошибок, упрощает отладку нового.
  • Все изменения/наработки рекомендуется хранить в папке /local/. Мы получим четкое разделение между системными файлами и кастомизацией. При выполнении очередного обновления папка /local/ не перезаписывается.

Тесты проводим ТОЛЬКО НА ТЕСТОВОЙ МАШИНЕ. Переносим "новое" на боевой сайт только после тщательной проверки.

Ядро системы менять нельзя!

Не изменяйте файлы ядра системы в папках:
  • /bitrix/modules/
  • /bitrix/components/bitrix/
  • /bitrix/activities/bitrix/
  • /bitrix/blocks/bitrix/
  • /bitrix/gadgets/bitrix/
  • /bitrix/wizards/bitrix/
  • /bitrix/routes/
  • /bitrix/js/
Изменение ядра приведет к:
  • потере изменений при обновлении,
  • лишению права на техническую поддержку,
  • возможной неработоспособности системы.

Не рекомендуется:

  • Писать прямые SQL-запросы к базе данных.
  • Добавлять HTML-код в PHP-логику, лучше разделять логику и представление (HTML-код должен находиться в шаблонах, а не в PHP-файлах).


Рекомендации:

  • Использовать систему контроля версий (мы использовали git, и это реально удобно).
  • Защищать файлы от прямого доступа.
  • Использовать кеширование (но тут надо хорошо осознавать, как это работает).


Cookie-файлы
Настройка cookie-файлов
Детальная информация о целях обработки данных и поставщиках, которые мы используем на наших сайтах
Аналитические Cookie-файлы Отключить все
Технические Cookie-файлы
Другие Cookie-файлы
Мы используем файлы Cookie для улучшения работы, персонализации и повышения удобства пользования нашим сайтом. Продолжая посещать сайт, вы соглашаетесь на использование нами файлов Cookie. Подробнее о нашей политике в отношении Cookie.
Понятно Подробнее
Cookies