Files
marketplaces/docs/platform/11-navigation-system.md
sdarbinyan 10251f2fc6
Some checks failed
Architecture Governance / architecture (push) Has been cancelled
docs
2026-07-05 04:23:47 +04:00

2.3 KiB

11. Система навигации

Назначение

Навигационная система управляет маршрутами витрины, меню и ссылками на основе bootstrap-конфигурации.

Поведение системы

  • Frontend строит маршруты из конфигурации pages и navigation.
  • Языковой префикс маршрута задается локализационной конфигурацией.
  • Для категорий/товаров используются конфигурируемые route templates.

Обязательные JSON-свойства

  • pages[].route.path
  • pages[].id
  • navigation.header или navigation.footer (минимум один набор)

Опциональные свойства

  • route.exact
  • route.redirectTo
  • navigation.icon
  • navigation.order
  • navigation.visible

Строгие правила

  • Маршруты страниц должны быть уникальны в рамках tenant.
  • Ссылка меню должна ссылаться на существующий маршрут или валидный внешний URL.
  • Нельзя хардкодить статические tenant-пути в компонентах.

Пример navigation JSON

{
  "navigation": {
    "header": [
      { "id": "nav-home", "label": "Главная", "route": "/", "order": 1 },
      { "id": "nav-catalog", "label": "Каталог", "route": "/catalog", "order": 2 }
    ],
    "footer": [
      { "id": "nav-privacy", "label": "Политика", "route": "/privacy-policy", "order": 1 }
    ]
  }
}

Ответственность Frontend

  • Строить меню и роутинг из конфигурации.
  • Соблюдать локализацию маршрутов.
  • Обрабатывать недоступные маршруты через fallback-страницу.

Ответственность Backend

  • Возвращать валидную карту маршрутов/навигации в bootstrap.
  • Поддерживать актуальность ссылок на статические страницы.
  • Контролировать tenant-специфичность навигации.