Поддержка
Слоты

Точки размещения

Все доступные точки инъекции в интерфейсе Frame

Каждый location — это именованная точка в интерфейсе, куда можно встроить компонент. Locations определены в enum Frame\Core\Enums\SlotLocation на бэкенде.

Авторизация

LocationEnumМесто
login-before-formLOGIN_BEFORE_FORMПеред формой входа
login-after-formLOGIN_AFTER_FORMПосле формы входа
login-sidebarLOGIN_SIDEBARПравая панель страницы входа (только десктоп)
Все login-locations являются публичными — доступны без авторизации через GET /slots.

Ресурсы

LocationEnumМестоContext
resource-page-actionsRESOURCE_PAGE_ACTIONSСправа от breadcrumbs на странице просмотра записиresource, resourceId, record
resource-edit-actionsRESOURCE_EDIT_ACTIONSСправа от breadcrumbs на странице редактирования записиresource, resourceId, record
resource-before-formRESOURCE_BEFORE_FORMПеред формой записи
resource-after-formRESOURCE_AFTER_FORMПосле формы записи
resource-before-relationsRESOURCE_BEFORE_RELATIONSПеред блоком связей
resource-after-relationsRESOURCE_AFTER_RELATIONSПосле блока связей
resource-page-actions — только просмотр, resource-edit-actions — только редактирование. Если компонент нужен в обоих режимах, зарегистрируйте его в оба location.

Context для resource-page-actions / resource-edit-actions

<script lang="ts" setup>
const props = defineProps<{
  resource: string    // имя ресурса ('users', 'posts')
  resourceId: number  // ID записи
  record: {           // данные записи из API
    title: string
    label: string
    group?: string
  }
}>()
</script>

Дашборд

LocationEnumМесто
dashboard-before-cardsDASHBOARD_BEFORE_CARDSПеред карточками дашборда
dashboard-after-cardsDASHBOARD_AFTER_CARDSПосле карточек дашборда

Глобальные

LocationEnumМесто
global-before-contentGLOBAL_BEFORE_CONTENTПеред основным контентом на всех страницах
global-after-contentGLOBAL_AFTER_CONTENTПосле основного контента на всех страницах
header-bannerHEADER_BANNERБаннер в шапке приложения
Глобальные locations являются публичными — доступны без авторизации.

Мультитенантность

LocationEnumМесто
tenant-switcherTENANT_SWITCHERПереключатель тенанта
tenant-switcherзащищённый location: приходит через GET /meta только для авторизованных пользователей (у неавторизованного нет тенантов для переключения).

Публичные vs защищённые

Каждый location имеет флаг isPublic(). Публичные locations обслуживаются через GET /slots без авторизации — это необходимо для страницы входа. Защищённые locations приходят через GET /meta только для авторизованных пользователей.

SlotLocation::LOGIN_BEFORE_FORM->isPublic()    // true
SlotLocation::RESOURCE_PAGE_ACTIONS->isPublic() // false