# Архитектура и структура каталогов (apelsincom) Сайт сделан на 1С-Битрикс. Главное правило: все доработки лежат в `/local/`, а ядро `/bitrix/` не трогаем — так правки не слетают при обновлении платформы. ## Из чего сделан сайт - **Движок:** 1С-Битрикс (PHP), решение eShop. Модули: главный, инфоблоки, торговый каталог, продажи (`sale`), валюты, склады (`storeassist`), поиск, веб-формы, плюс сторонний модуль `richcode.api` (внешний REST — см. [[REST API (richcode.api)]]). - **Фронтенд:** jQuery 3.7.1, jQuery UI, Fancybox, Swiper, маска телефона, свой `script.js`. Сборки (webpack и т.п.) нет — библиотеки подключены готовыми. Подробнее — [[Шаблон custom]]. - **Данные:** товары в инфоблоке ID 2 с торговыми предложениями (размер/цвет), заказы в модуле `sale`. См. [[Инфоблоки и каталог (apelsincom)]]. ## Как всё связано, по-простому ```mermaid flowchart LR U[Посетитель] --> H[.htaccess: HTTPS + ЧПУ] H --> K[Ядро Битрикс] K --> T[Шаблон custom] T --> C[Компоненты и их шаблоны] C --> IB[(Инфоблоки / sale)] A[Внешняя система] -->|HTTP + токен| API[richcode.api /api/] API --> IB ``` Витрину собирают штатные компоненты Битрикса с **переопределёнными шаблонами**. Параллельно наружу работает REST API (`richcode.api`), который ходит в те же данные, минуя витрину. > [!tip] Ключевое отличие этого проекта > Здесь **нет своих компонентов** (`/local/components/` пуст) и **нет своего `init.php`** (`/local/php_interface/` пуст). Вся кастомизация — в шаблонах компонентов внутри шаблона сайта. Если привыкли искать логику в `init.php` — тут её нет, смотрите в [[Компоненты и шаблоны компонентов]] и [[REST API (richcode.api)]]. ## Папки на сайте ``` public_html/ ├── index.php главная (баннер-слайдер, блоки категорий и товаров) ├── 404.php страница «не найдено» (крупный файл с вёрсткой) ├── .htaccess HTTPS-редирект и ЧПУ ├── urlrewrite.php правила ЧПУ Битрикса ├── catalog/ каталог (компонент bitrix:catalog, ИБ 2) ├── personal/ store/ news/ разделы: кабинет/корзина, магазины, новости ├── include/ подключаемые куски (логотип, баннер, контакты, кнопки Ozon/WB) ├── upload/ загрузки: картинки ИБ, файлы свойств, docs, фиды импорта/экспорта ├── odmavatar/ файлы внешнего виджета «ИИ-стилист» (отключён) │ ├── bitrix/ ядро движка (не трогаем) │ ├── modules/richcode.api/ сторонний REST-модуль │ ├── php_interface/ подключение БД + раннеры импорта/экспорта │ └── services/ rest, ymarket, mobileapp, sale/b24integration │ └── local/ ВСЕ ДОРАБОТКИ └── templates/custom/ активный шаблон сайта (внутреннее имя reborn_template) ├── header.php footer.php шапка и подвал ├── js/script.js поведение фронта ├── styles.css fonts/ стили и шрифты └── components/bitrix/ ПЕРЕОПРЕДЕЛЁННЫЕ шаблоны компонентов ``` Полный список «что где» — в [[Справочник — что где лежит (apelsincom)]]. ## См. также - [[Шаблон custom]] - [[Компоненты и шаблоны компонентов]] - [[REST API (richcode.api)]] - [[Серверная логика и php_interface (apelsincom)]] - [[Справочник — что где лежит (apelsincom)]]