Для разработчиков
Populate (config/page.js)
Конфигурация populate для блоков задаётся в apps/strapi/config/page.js. Она определяет, какие связанные данные подтягиваются при запросах к API.
Populate (config/page.js)
Конфигурация populate для блоков задаётся в apps/strapi/config/page.js. Она определяет, какие связанные данные подтягиваются при запросах к API.
Структура
const blocks = {
on: {
'content.rich-text': { populate: '*' },
'blocks.hero': { populate: 'images' },
'blocks.form': {
populate: {
employee: { populate: ['photo'] },
},
},
// ...
},
}
const page = {
populate: {
seo: { populate: { image: true, ogImage: { populate: '*' } } },
breadcrumbs: { populate: '*' },
blocks,
},
}
Экспорты
| Экспорт | Используется для |
|---|---|
page | Страницы (page) |
article | Новости (new) |
project | Проекты (project) |
apartment | Страница квартиры (apartment-page) |
secondary | Вторички (secondary-house) |
Добавление populate для блока
При добавлении нового блока с relation или вложенными компонентами:
- Добавьте запись в
blocks.on:'blocks.my-block': { populate: { relationField: { populate: ['image'] }, nestedComponent: true, }, }, - Используйте
populate: '*'для подтягивания всех полей - Вложенные populate — через объект
{ populate: { ... } }
Связь с API
Конфигурация из page.js подключается в контроллерах/сервисах при формировании populate для findOne/findMany. Стандартные эндпоинты Strapi не используют её автоматически — кастомные контроллеры применяют эту конфигурацию при запросах.