Page type matrix
A reference table mapping admin labels to internal identifiers, and showing which kind of page each one drives.
Shopware CMS page types
Section titled “Shopware CMS page types”Defined in Enum\CmsPageTypeEnum:
| Admin label | Internal id | Used by |
|---|---|---|
| Product page | product_detail | Product detail pages |
| Listing page | product_list | Category / listing pages |
| Landing page | landingpage | Landing pages |
| Shop page | page | Standalone shop pages (e.g. About, FAQ) |
Storefront events the plugin reacts to
Section titled “Storefront events the plugin reacts to”| Event class | Plugin handler | Page kind |
|---|---|---|
ProductPageLoadedEvent | onProductPageLoaded | Product detail |
NavigationPageLoadedEvent | onNavigationPageLoaded | Category / listing |
LandingPageLoadedEvent | onLandingPageLoaded | Landing page |
CategoryEvents::CATEGORY_LOADED_EVENT | onCategoryEntityLoaded | CMS navigation widget XHR |
LandingPageEvents::LANDING_PAGE_LOADED_EVENT | onLandingPageEntityLoaded | Landing page entity load |
Replacement modes per page kind
Section titled “Replacement modes per page kind”| Page kind | Mode enum class | Available values |
|---|---|---|
| Product page | ProductPageReplaceModeEnum | withoutCmsPage (default), withoutCmsPageOrReplacementCmsPages, replacementCmsPages, all |
| Category page | NavigationPageReplaceModeEnum | withDefault (default), replacementCmsPages, all |
| Landing page | LandingPageReplaceModeEnum | withDefault (default), replacementCmsPages, all |
The admin labels for each value are listed in Replacement modes.
Replacement types matrix (defaults)
Section titled “Replacement types matrix (defaults)”What the post-install routine seeds into the Replacement types card:
| Incoming page (the base’s type) | Default replacement types |
|---|---|
Product page (product_detail) | product_detail |
Shop page (page) | page |
Landing page (landingpage) | landingpage |
Listing page (product_list) | product_list |
You can extend each row with any of the other four CMS page types. See Replacement types for guidance on when to widen.
System config keys
Section titled “System config keys”The plugin reads its settings from SystemConfigService under the domain P2LabCmsAssigner.config.. All keys are also defined as constants on Service\SettingsService:
| Key | Constant | Type |
|---|---|---|
productPageReplaceMode | KEY_PRODUCT_PAGE_REPLACE_MODE | string (enum value) |
productReplacementCmsPageIds | KEY_PRODUCT_REPLACEMENT_CMS_PAGE_IDS | array of UUIDs |
navigationPageReplaceMode | KEY_NAVIGATION_PAGE_REPLACE_MODE | string (enum value) |
navigationReplacementCmsPageIds | KEY_NAVIGATION_REPLACEMENT_CMS_PAGE_IDS | array of UUIDs |
landingPageReplaceMode | KEY_LANDING_PAGE_REPLACE_MODE | string (enum value) |
landingReplacementCmsPageIds | KEY_LANDING_REPLACEMENT_CMS_PAGE_IDS | array of UUIDs |
landingPageDefaultCmsPageId | KEY_LANDING_PAGE_DEFAULT_CMS_PAGE_ID | UUID or null |
productPageReplaceTypes | KEY_PRODUCT_PAGE_REPLACE_TYPES | array of CmsPageTypeEnum values |
shopPageReplaceTypes | KEY_SHOP_PAGE_REPLACE_TYPES | array of CmsPageTypeEnum values |
landingPageReplaceTypes | KEY_LANDING_PAGE_REPLACE_TYPES | array of CmsPageTypeEnum values |
listingPageReplaceTypes | KEY_LISTING_PAGE_REPLACE_TYPES | array of CmsPageTypeEnum values |
All keys are per sales channel (with a fallback to the global scope). Setting a value with salesChannelId = null writes the global default.
Related
Section titled “Related”- Replacement modes and Replacement types — the user-facing pages for these settings.
- Replacement flow internals — the runtime that reads these settings.