Для разработчиков

Renderer: маппинг Strapi → Vue

Блоки из Strapi рендерятся во Vue-компоненты в apps/web/layers/page/app/components/Blocks/Renderer/Renderer.vue.

Renderer: маппинг Strapi → Vue

Блоки из Strapi рендерятся во Vue-компоненты в apps/web/layers/page/app/components/Blocks/Renderer/Renderer.vue.

Таблица соответствия

Strapi (__component)Vue (resolveComponent)
content.rich-textUiContentContentRichTextRenderer
content.editorUiContentEditor
content.editor-markdownUiContentMarkdown
content.markdownUiContentMarkdown
content.imagesUiContentPicture
content.videoUiContentVideo
content.authorUiContentAuthor
blocks.promoBlocksPromo
blocks.collectionsBlocksCollections
blocks.projectsBlocksProjects
blocks.progress-constructionBlocksProgressConstruction
blocks.aboutBlocksAbout
blocks.newsBlocksNews
blocks.formBlocksForm
blocks.contactsBlocksContacts
blocks.tendersBlocksTenders
blocks.documentsBlocksDocuments
blocks.videoBlocksVideo
blocks.cardBlocksCard
blocks.card-gridBlocksCardGrid
blocks.card-grid-altBlocksCardGridAlt
blocks.card-sliderBlocksCardSlider
blocks.card-slider-altBlocksCardSliderAlt
blocks.heroBlocksHero
blocks.feature-sliderBlocksFeatureSlider
blocks.feature-slider-altBlocksFeatureSliderAlt
blocks.news-pageBlocksNewsPage
blocks.promo-pageBlocksPromoPage
blocks.non-residential-pageNonResBlocksPage
blocks.purchasing-methodsBlocksAcquisitionMethods
blocks.project-progressBlocksProgressConstructionProject
blocks.infra-mapBlocksInfraMap
blocks.flats-filterBlocksFlatsFilter
blocks.flatsBlocksFlats
blocks.headingBlocksHeading
blocks.secondary-flatsBlocksSecondaryFlats
blocks.bannerBlocksBanner
blocks.similar-flatsBlocksSimilarFlats
blocks.mortgage-calculatorMortgageSectionCalculationBlock
blocks.genplanBlocksGenplan
blocks.project-blockBlocksProjectBlock

Добавление нового блока

  1. Strapi — добавьте компонент в dynamiczone.components в schema content-type (page, project, new, promotion, secondary-house, apartment-page)
  2. config/page.js — добавьте populate для блока в объект blocks.on
  3. Renderer.vue — добавьте запись в components:
    'blocks.my-block': resolveComponent('BlocksMyBlock'),
    

Блоки с серым фоном

Блоки blocks.card-grid, blocks.card-grid-alt, blocks.mortgage-calculator имеют серый фон для визуального слияния секций.

Props

Renderer принимает blocks (массив блоков) и class. Каждый блок передаётся в компонент через prop data.

Copyright © 2026