61 lines
4.7 KiB
Markdown
61 lines
4.7 KiB
Markdown
# Архитектура и структура каталогов (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)]]
|