Структура файлов Bitrix


Javascript

/js/ - файлы JavaScript
../objects/ - объекты (псевдоклассы), используемые в дальнейшем в компонентах
../jquery/, ../bootstrap/, ../[LIBRARY_JS]/ - если используются сторонние библиотеки, все файлы, которые имеют отношение к данной библиотеке должны лежать здесь
/local/components/[NAMESPACE]/[COMPONENT_NAME]/templates/[TEMPLATE_NAME]/script.js - путь для js файла, работающий в логике конкретного компонента

LIBRARY_JS - название сторонней библиотеки, например jquery
NAMESPACE - пространство имён компонентов проекта, например dquad (обычно одно на проект)
COMPONENT_NAME - название компонента, например catalog.section
TEMPLATE_NAME - название шаблона, например .default (по умолчанию)

HTML

/_html/ - свёрстанные макеты, которые в дальнейшем будут интегрированы в логику
../_html/index.html - список доступных страниц (обычно с указанием номера раздела в соответсвии с ТЗ)
../_html/template/ - повторяющиеся блоки страниц (соблюдения принципа DRY)

CSS

/css/ - файлы стилей css
../css/style.css - основной файл стилей, кастомизация шаблона
../css/into.css - дополнительный файл стилей, кастомизация страниц (с обозначением разделов комментариями)
../css/[VIEW_SIZE].css - кастомизация адаптивной вёрстки для альтернативных разрешений

/local/components/[NAMESPACE]/[COMPONENT_NAME]/templates/[TEMPLATE_NAME]/style.css - дополнительный файлы стилей, подключаемый автоматически если требуется внести коррективы в вёрстку (используется в качестве заплаток, в общем случае не используется)

VIEW_SIZE - адаптивное разрешение, например 540, 768, 990, 1170

PHP

/local/templates/[SITE_TEMPLATE] - основные шаблоны сайта
../.default/include/ - повторяющиеся блоки логики, использующие в подключении несколько компонентов или наоборот очень простую логику
../.default/components/bitrix/[COMPONENT_NAME]/ - шаблоны, использующие компоненты ядра Битрикс, требующие только адаптации шаблона

/local/php_interface/ - папка для хранения собственных классов, функции, констант, событий
../init.php - константы сайта
../[SITE_ID]/init.php - константы сайта (в случае многосайтовости)
../_event_handlers.php - обработчики событий (подчинённый файлу init.php)
/include/classes/ - классы в порядке дерева namespace (для старой версии /include/dquad_classes/) например для класса \DQuad\Catalog\CBid путь будет /dquad/catalog/CBid.php
/include/functions/ - функции (по возможности использовать классы)
/include/functions/index.php - подключение групп функции
/include/functions/_[GROUP_FUNCTIONS].php - группа функции одного назначения
/local/components/dquad/ - кастомизированные или собственные компоненты, на базе которых строится сайт
../component.php - базовый файл логики, модель (MVC)

или

../class.php - базовый класс, наследуется от CBitrixComponent и должен содержать определенный набор методов (см. Битрикс d7, c 2014г)
../_[LINE_BLOCK].php - подчинённый файлу component.php блок, содержит линейный логический блок работы с данными, например выборка цен
../templates/[TEMPLATE_NAME]/template.php - шаблон представления, обычно содержит простейшие циклы, условия и html код
../_[TPL_BLOCK].php - подчинённый файлу template.php блок, введён для лучше читаемости и семантики
../ajax/ - дополнительные скрипты, которые нужны компоненту для реализации логики ajax
/tools/ - временные и тестовые скрипты, не имеющие правильного оформления

SITE_TEMPLATE - символьный код шаблона, например base, into, main
SITE_ID - символьный код сайта (см. Битрикс)
GROUP_FUNCTIONS - группы функций одного назначения, например format
LINE_BLOCK - название логического блока, например prices
TPL_BLOCK - название логического блока, например offerList

Примечание: папка /local/ используется с 2014г, в старых проектах вместо неё используется папка /bitrix/