Администрирование
Где искать файлы и код
Рабочая справка по поиску файлов и кода в коробочном Bitrix24: local, bitrix, компоненты, шаблоны, init.php, модули и команды поиска.
В коробке сначала ищу доработки в /local, потом проверяю шаблоны компонентов,
init.php, локальные модули и только после этого смотрю ядро в /bitrix.
Ядро лучше читать, но не править.
Где искать файлы
В Bitrix24 важно отделять свои доработки от ядра. Обычно всё пользовательское должно
лежать в /local.
Основные папки
| Путь | Что искать |
|---|---|
/local/ | Свои компоненты, шаблоны, модули, JS, CSS, обработчики и доработки. |
/bitrix/ | Ядро, стандартные модули, стандартные компоненты и административные файлы. |
/upload/ | Загруженные файлы, изображения, документы, временные файлы импорта. |
/bitrix/php_interface/ | Старое место для init.php, обработчиков и служебных файлов. |
/local/php_interface/ | Локальный init.php и служебные файлы проекта. |
local и bitrix
Если один и тот же файл или компонент есть в /local и /bitrix,
сначала обычно проверяют локальный вариант. Это позволяет переопределять поведение без
правки ядра.
/local/components/
/local/templates/
/local/modules/
/local/php_interface/
/bitrix/components/
/bitrix/templates/
/bitrix/modules/
/bitrix/php_interface/ Частые места доработок
/local/templates/— шаблоны сайта и шаблоны компонентов;/local/components/— свои компоненты;/local/modules/— локальные модули;/local/js/— JS-расширения и скрипты;/local/php_interface/init.php— обработчики событий и общая инициализация;/bitrix/admin/— стандартные административные страницы;/bitrix/modules/*/install/— установщики модулей.
Как искать код
Для поиска удобно знать несколько команд под Linux и Windows.
Поиск в Linux
Найти PHP-файлы, где встречается строка bizproc:
grep -RIn --include="*.php" "bizproc" /home/bitrix/www/local /home/bitrix/www/bitrix/php_interface Найти файлы по имени:
find /home/bitrix/www -type f -name "*.php" | grep "crm"
Если на сервере установлен ripgrep, поиск обычно быстрее:
rg -n "OnAfterCrmDealUpdate" /home/bitrix/www/local /home/bitrix/www/bitrix/php_interface Поиск в Windows
Через PowerShell:
Get-ChildItem -Path "E:\bitrix-site\local" -Recurse -Filter *.php |
Select-String -Pattern "bizproc"
Через стандартный findstr:
findstr /S /I /N /C:"bizproc" E:\bitrix-site\local\*.php Поиск PHP-файлов по тексту
Команда для поиска обработчиков CRM:
grep -RIn --include="*.php" "OnAfterCrm" /home/bitrix/www/local /home/bitrix/www/bitrix/php_interface Команда для поиска подключения JS:
grep -RIn --include="*.php" "addJs" /home/bitrix/www/local /home/bitrix/www/bitrix/php_interface Команда для поиска бизнес-процессов:
grep -RIn --include="*.php" "CBPDocument" /home/bitrix/www/local /home/bitrix/www/bitrix/php_interface Что искать в первую очередь
Если непонятно, где доработка, лучше идти от самых частых мест.
Компоненты и шаблоны
Если меняется внешний вид страницы, сначала смотрю шаблон сайта и шаблоны компонентов.
/local/templates/site_template/
/local/templates/site_template/components/
/bitrix/templates/site_template/components/ init.php и события
Если поведение меняется при сохранении CRM, создании пользователя, отправке формы или загрузке страницы, часто причина в обработчике событий.
grep -RIn --include="*.php" "EventManager::getInstance" /home/bitrix/www/local /home/bitrix/www/bitrix/php_interface
grep -RIn --include="*.php" "AddEventHandler" /home/bitrix/www/local /home/bitrix/www/bitrix/php_interface Локальные модули
Если доработка оформлена нормально, она может лежать отдельным модулем в
/local/modules.
/local/modules/vendor.module/
├── include.php
├── install/
├── lib/
└── options.php