Files
obsidian/Магазин обуви (apelsincom)/Серверная логика и php_interface (apelsincom).md
T
2026-07-06 13:05:56 +03:00

41 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Серверная логика и php_interface (apelsincom)
Где на этом сайте выполняется серверный код помимо шаблонов. Короткий ответ: **своей серверной логики в `/local/` почти нет** — это отличает проект от типового Битрикс-сайта.
## Чего НЕТ (и это важно знать)
- `/local/php_interface/`**пусто**. Своего `init.php` с обработчиками событий и агентами нет.
- `/local/components/`**пусто**. Своих компонентов нет.
Поэтому не ищите бизнес-логику в `init.php` — её там нет. Она размазана по трём местам:
1. **Шаблоны компонентов** (`result_modifier.php`, `component_epilog.php`) — см. [[Компоненты и шаблоны компонентов]].
2. **Модуль `richcode.api`** — вся API-логика в `bitrix/modules/richcode.api/lib/` — см. [[REST API (richcode.api)]].
3. **Штатные механизмы Битрикса** — импорт/экспорт, обмен, агенты.
## Ядро: `bitrix/php_interface`
Это часть ядра, но пригодится:
| Файл | Назначение |
|---|---|
| `dbconn.php` | подключение к БД. **Чувствительно** (реквизиты) — не выносить в публичные бэкапы |
| `after_connect_d7.php` | SQL после коннекта: `SET NAMES 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci'` (отсюда вывод — MySQL 8) |
| `include/catalog_import/` | раннеры импорта: CommerceML (1С), CSV, `cron_frame.php` |
| `include/catalog_export/` | раннеры экспорта: Яндекс.Маркет (YML), Froogle, CSV, `cron_frame.php` |
Импорт/экспорт запускаются по расписанию (cron/агенты) — см. [[Интеграции (apelsincom)]] и [[Кэширование и обслуживание (apelsincom)]].
## Конфигурация
- `bitrix/.settings.php` (D7) и `bitrix/.config.php` — подключения, кэш, криптоключи. **Чувствительно**, значения в документации не приводятся.
- `bitrix/license_key.php` — лицензионный ключ.
> [!tip] Если нужно добавить свою логику
> Делайте это по-битриксовому, не трогая ядро:
> - обработчики событий — создать `local/php_interface/init.php` и регистрировать через `EventManager`/`AddEventHandler`;
> - свои компоненты — `local/components/`;
> - свои модули — `local/modules/`.
> Так правки переживут обновление платформы.
## См. также
- [[Компоненты и шаблоны компонентов]]
- [[REST API (richcode.api)]]
- [[Интеграции (apelsincom)]]