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, и это реально удобно).
- Защищать файлы от прямого доступа.
- Использовать кеширование (но тут надо хорошо осознавать, как это работает).