Skip to content

Landing sections built-in

The landing-sections built-in renders structured cards from account or host configuration. Use it when the customer needs curated content without custom JavaScript, HTML, or CSS.

Configure a section

js
{
  id: 'landing-sections',
  enabled: true,
  options: {
    sections: [
      {
        id: 'dealer-builds',
        placement: 'between-featured-brands-and-new-arrivals',
        order: 10,
        title: {
          en: 'Dealer builds',
          fr: 'Configurations du détaillant',
        },
        description: 'Explore selected wheel and vehicle combinations.',
        layout: 'carousel',
        items: [
          {
            id: 'featured-build',
            eyebrow: 'Featured vehicle',
            title: 'FEATURED_BUILD_NAME',
            description: 'Open a preselected visualizer configuration.',
            media: {
              type: 'image',
              src: 'https://YOUR_DOMAIN/images/featured-build.jpg',
              alt: 'Featured vehicle with aftermarket wheels',
            },
            action: {
              label: 'View build',
              command: 'openVisualizer',
              query: {
                fmk: 'VEHICLE_FMK',
                bodyType: 'BODY_TYPE_ID',
                sizeCategory: 'OE',
                wheel: 'WHEEL_IMAGE_ID',
                wheelDiameter: 'WHEEL_DIAMETER',
              },
            },
          },
        ],
      },
    ],
  },
}

Section fields

FieldRequiredPurpose
idYesUnique section identifier.
placementYesSupported landing-page placement.
orderNoSort value within the placement.
titleNoString or language-code record.
descriptionNoString or language-code record.
ariaLabelNoAccessible label when needed.
layoutNocarousel or grid; defaults to carousel.
itemsYesOne or more structured cards.

Placements are before-featured-brands, between-featured-brands-and-new-arrivals, and after-new-arrivals.

Item fields

Each item requires a unique id and localized title. Optional fields are eyebrow, badge, description, media, and action.

Image media requires:

js
{
  type: 'image',
  src: 'https://YOUR_DOMAIN/images/item.jpg',
  alt: 'Useful alternative text',
  aspectRatio: '16 / 10',
}

Image URLs must use HTTP or HTTPS. alt may be a string or language-code record.

Item actions

Supported configured commands are:

  • openSearchByVehicle
  • openSearchBySize
  • openBrands
  • openVisualizer
  • openWheelSpecSheet
  • openWheelDetail
  • externalLink
  • emit
  • openModal

An external link requires an HTTP or HTTPS href. An emitted action requires eventName. Product workflows accept a public query record.

js
{
  label: 'Learn more',
  command: 'openModal',
  modal: {
    title: 'Package details',
    body: 'Ask the dealer about availability and installation.',
    size: 'medium',
    actions: [
      {
        label: 'Shop by vehicle',
        command: 'openSearchByVehicle',
      },
    ],
  },
}

Limits and validation

  • Up to 8 sections per descriptor
  • Up to 24 items per section
  • Unique section IDs and unique item IDs within each section
  • At least one item per section
  • HTTP or HTTPS image and external-link URLs
  • A title for every item and modal

Invalid configuration causes the built-in registration to fail and records a public plugin error.

Icon Visualizer developer documentation