---
url: 'https://dxpr.com/de/hc/dokumentation/dxpr-builder-lernen/referenz/konfigurationsreferenz'
title: 'Konfigurationsreferenz | DXPR'
author:
  name: Jurriaan
  url: 'https://dxpr.com/users/jurriaan'
date: '2026-10-24T14:14:17+00:00'
updated: '2026-10-24T17:19:22+00:00'
copyright: 'Copyright DXPR. All rights reserved.'
type: article
summary: 'DXPR Builder speichert seine Konfiguration in Drupals Konfigurationssystem. Diese Seite listet jeden dort deklarierten Schlüssel config/schema/dxpr_builder.schema.yml mit Typ, erlaubten Werten und Standard. Sie listet auch den status-Schlüssel jeder Konfigurations-Entity und die Einstellungsschlüssel, die Code ohne Schema-Eintrag liest. Fette Namen sind die Formularlabels.'
tags:
  - 'Configuration and API'
image: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
published: true
og:
  site_name: DXPR
  updated_time: '2026-10-24T17:19:22+0000'
  'image:alt': 'DXPR, powered by Drupal: AI-powered Drupal for marketers.'
schema:
  '@context': 'https://schema.org'
  '@graph':
    -
      mainEntity: {  }
    -
      '@type': TechArticle
      headline: Konfigurationsreferenz
      description: 'DXPR Builder speichert seine Konfiguration in Drupals Konfigurationssystem. Diese Seite listet jeden dort deklarierten Schlüssel config/schema/dxpr_builder.schema.yml mit Typ, erlaubten Werten und Standard. Sie listet auch den status-Schlüssel jeder Konfigurations-Entity und die Einstellungsschlüssel, die Code ohne Schema-Eintrag liest. Fette Namen sind die Formularlabels.'
      image:
        '@type': ImageObject
        url: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
        width: '1200'
        height: '630'
      datePublished: '2026-10-24T14:14:17+0000'
      dateModified: '2026-10-24T17:19:22+0000'
      author:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      mainEntityOfPage: 'https://dxpr.com/de/hc/dokumentation/dxpr-builder-lernen/referenz/konfigurationsreferenz'
      articleSection: 'Konfiguration und API'
    -
      '@type': WebPage
      '@id': 'https://dxpr.com/de/hc/dokumentation/dxpr-builder-lernen/referenz/konfigurationsreferenz'
      description: 'DXPR Builder speichert seine Konfiguration in Drupals Konfigurationssystem. Diese Seite listet jeden dort deklarierten Schlüssel config/schema/dxpr_builder.schema.yml mit Typ, erlaubten Werten und Standard. Sie listet auch den status-Schlüssel jeder Konfigurations-Entity und die Einstellungsschlüssel, die Code ohne Schema-Eintrag liest. Fette Namen sind die Formularlabels.'
      breadcrumb:
        '@type': BreadcrumbList
        itemListElement:
          -
            '@type': ListItem
            position: 1
            name: Startseite
            item: 'https://dxpr.com/de'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
      inLanguage: de
---
[Hilfe-Center](/de/hc)/[Dokumentation](/de/hc/dokumentation) /[DXPR Builder lernen](/de/hc/documentation/learn-dxpr-builder) /[Referenz](/de/hc/documentation/learn-dxpr-builder/reference) /[Konfiguration und API](/de/hc/documentation/learn-dxpr-builder/reference/config-and-api) # Konfigurationsreferenz.

 DXPR Builder lernenReferenzKonfiguration und API

   ## In diesem Leitfaden

 Verwandte Leitfäden

- [Produktschlüssel und websiteweite Einstellungen](/de/hc/dokumentation/dxpr-builder-lernen/verwaltung/allgemeine-einstellungen)
- [Firewall und Datenresidenz](/de/hc/documentation/learn-dxpr-builder/getting-started/behind-a-firewall)
- [API-Endpunkte](/de/hc/dokumentation/dxpr-builder-lernen/referenz/api-endpunkte)

DXPR Builder speichert seine Konfiguration in Drupals Konfigurationssystem. Diese Seite listet jeden dort deklarierten Schlüssel `config/schema/dxpr_builder.schema.yml` mit Typ, erlaubten Werten und Standard. Sie listet auch den `status`-Schlüssel jeder Konfigurations-Entity und die Einstellungsschlüssel, die Code ohne Schema-Eintrag liest. Fette Namen sind die Formularlabels.

Das Modul bringt kein `config/install/dxpr_builder.settings.yml` mit. Standards werden von `hook_install()` und Update-Hooks in `dxpr_builder.install` gesetzt oder im Code angewendet, wenn ein Schlüssel fehlt; die **Default**-Spalte sagt, welche.

## Allgemeine Einstellungen

Konfigurationsobjekt: `dxpr_builder.settings`

Admin-Pfad: `/admin/dxpr_studio/dxpr_builder/settings` (`src/Form/DxprBuilderSettingsForm.php`)

| Schlüssel | Typ | Erlaubte Werte | Standard | Beschreibung |
|---|---|---|---|---|
| `json_web_token` | string | Ein DXPR-Produktschlüssel (JWT) | leer | **Product key**, nur wenn `api_key_storage` `config` ist. Gelöscht, wenn der Schlüssel im Key-Modul gespeichert wird; Update 9026 löscht einen dort zurückgelassenen Wert. |
| `api_key_storage` | string | `config` (**Configuration storage**), `key` (**Key module**) | nicht gesetzt (wird als `config` behandelt); `key`, nachdem `dxpr_builder_update_9020()` einen vorhandenen Schlüssel verschoben hat. | **Storage method** für den Produktschlüssel. |
| `key_provider` | string | Eine Key-Entity-ID | leer; Update 9020 setzt `dxpr_builder_jwt`, wenn es einen vorhandenen Schlüssel verschiebt | **Key** Entity mit dem Produktschlüssel, wenn `api_key_storage` `key` ist. |
| `bootstrap` | string | `0`, `bs5` | nicht gesetzt (keine Bootstrap-Dateien geladen) | **Sideload Bootstrap files**: `0` = **None (theme provides Bootstrap)**, `bs5` = **Bootstrap 5**. Update 8040 schreibt die entfernten `1` und `bs4`-Werte um auf `bs5`. |
| `cke_stylesset` | string | Ein `[label]=[element].[class]`-Eintrag pro Zeile | leer (der Editor nutzt dann die Stile aus DXPR Builder) | **Custom styles** für den Texteditor, zum Beispiel `Sassy Title=h1.sassy-title`. |
| `editor_assets_source` | integer | `0`, `1`, `2` | nicht gesetzt (`0`) | **Asset source**: `0` = **Cloud**, `1` = **Local (minified)**, `2` = **Local (unminified)**. Das Feld erscheint nur, wenn ein lokaler Build im `dxpr_builder/`-Ordner des Moduls liegt. Mit gespeichertem `0` wird ein solcher Build dennoch genutzt, zuerst der unminifizierte. |
| `format_filters` | boolean | `true`, `false` | nicht gesetzt (aus) | **Apply text format filters to frontend content**. |
| `media_browser` | string | `''` (**Basic file upload**), `media_library` (**Media Library**), `media_library_acquia_dam` (**Media Library (Acquia DAM)**), oder eine Entity-Browser-ID | `media_library`, wenn das Media-Library-Modul installiert ist, sonst `dxpr_builder_media_modal`, wenn `dxpr_builder_media` installiert ist, sonst `''` (gesetzt von `hook_install()`) | **Browser type**, den Bildfelder nutzen. |
| `offset_selector` | string | Ein CSS-Selektor | `.dxpr-theme-header--sticky, .dxpr-theme-header--fixed` (wird angewendet, wenn leer) | **Scroll offset selector** für fixierte Header. |
| `controls_layout` | string | `element` (**On each element**), `breadcrumb` (**One row**) | `element` (wird angewendet, wenn leer) | **Control bars** im Bearbeitungsmodus: eine Leiste auf jedem Element oder eine Zeile über dem Element, auf das Sie zeigen. Ein Profil und die eigene Einstellung des Bearbeiters setzen sie außer Kraft. Die Bearbeiter-Einstellung ist keine Konfiguration: Sie wird beim Benutzerkonto gespeichert (`user.data`, Modul `dxpr_builder`, Name `controls_layout`). |

### KI-Einstellungen

Gespeichert im selben `dxpr_builder.settings`-Objekt.

Admin-Pfad: `/admin/dxpr_studio/dxpr_builder/ai_settings` (`src/Form/DxprBuilderAiSettingsForm.php`)

| Schlüssel | Typ | Erlaubte Werte | Standard | Beschreibung |
|---|---|---|---|---|
| `ai_enabled` | boolean | `true`, `false` | `true`, wenn fehlend; gesetzt von Update 9008 | **Enable text editing assistant**. |
| `ai_page_enabled` | boolean | `true`, `false` | `true`, wenn fehlend; gesetzt von Update 9012 | **Enable page creation assistant**. |
| `ai_image_enabled` | boolean | `true`, `false` | `true`, wenn fehlend; gesetzt von Update 9015 | **Enable image generation**. |
| `ai_user_model_selection` | boolean | `true`, `false` | `true`, wenn fehlend; gesetzt von Update 9016 | **Allow users to choose model**. Wird nur angezeigt, wenn `ai_provider_dxpr` nicht installiert ist. |
| `ai_model` | string | `dxai_kavya_m1`, `dxai_kavya_m1_eu`, `dxai_kavya_m1_fast` | `dxai_kavya_m1` (`AiModelConstants::getDefaultModel()`) | **Default model**. Die API-Namen lauten `kavya-m1`, `kavya-m1-eu` und `kavya-m1-fast`. Wird nur angezeigt und gespeichert, wenn `ai_provider_dxpr` nicht installiert ist. |
| `ai_provider_selection_mode` | string | `automatic` (**Automatic**), `manual` (**Manual priority**) | `automatic` | **Service providers**-Modus. `manual` nutzt die Reihenfolge in `ai_providers`. Wird nur gespeichert, wenn `ai_provider_dxpr` nicht installiert ist. |
| `ai_providers` | Sequenz von Mappings mit Provider-ID als Schlüssel | Schlüssel: `anthropic`, `gemini`, `mistral`, `openai`, `xai`. Jeder hat `enabled` (Boolean), `weight` (Ganzzahl) und `region` (`enabled` oder `disabled`) | leer (das Formular listet dann alle fünf als aktiviert) | Provider-Prioritätstabelle für den `manual`-Modus. `region` ist der Tabellenabschnitt, in dem die Zeile sitzt, keine geografische Region. |
| `tone_of_voice_vocabulary` | string | Eine Taxonomie-Vokabular-ID | `ai_tone_of_voice` (Vokabular, erstellt von `hook_install()`, wenn Taxonomie aktiviert ist, und von Update 9007) | **Tone of voice vocabulary**. Update 9025 setzt den Wert zurück auf `ai_tone_of_voice`, wenn das gespeicherte Vokabular nicht mehr existiert. |
| `enable_taxonomy_tones` | boolean | `true`, `false` | `true`, sobald ein Ton-Vokabular gesetzt ist | Gesetzt auf `true` mit dem Vokabular, von `hook_install()`, den Updates oder dem Formular. Kein Formularfeld, und kein Code liest ihn. |
| `commands_vocabulary` | string | Eine Taxonomie-Vokabular-ID | `ai_agent_commands` (erstellt von `hook_install()`, wenn Taxonomie aktiviert ist, und von Update 9007, nur wenn der Schlüssel leer ist) | **Commands vocabulary**. |
| `enable_taxonomy_commands` | boolean | `true`, `false` | `true`, sobald ein Befehls-Vokabular gesetzt ist | Gesetzt auf `true` mit dem Vokabular, von `hook_install()`, Update 9007 oder dem Formular. Kein Formularfeld, und kein Code liest ihn. |
| `ai_output_allowed_domains` | text | Domains, eine pro Zeile (Wildcards wie `*.wikipedia.org` erlaubt); `*` erlaubt alle; leer blockiert alle externen URLs | `unsplash.com`, `images.unsplash.com`, `pexels.com`, `images.pexels.com`, `pixabay.com`, `promptahuman.com` (gesetzt von `hook_install()` und Update 9013) | **Allowed domains**. Entfernen Sie den Haken bei **Filter AI output** auf dem Formular, um zu speichern: `*`. |
| `ai_output_allowed_tags` | text | HTML-Tag-Namen, einer pro Zeile | Eine Liste gängiger Text-, Listen-, Tabellen-, Inline-, Medien- und Formular-Tags (`div` bis `rp`), im Formular angewendet, wenn der Schlüssel fehlt | **Allowed HTML tags**; ungelistete Tags verlieren ihr Markup, behalten aber ihren Text. |
| `ai_output_stripped_tags` | text | HTML-Tag-Namen, einer pro Zeile | `script`, `style` | **Blocked tags**, mit ihren Inhalten entfernt. Entfernen Sie den Haken bei **Filter AI output**, um den Standard zu speichern: `script` und `style`. |

### Schlüssel, die Code ohne Formularfeld liest

Diese Schlüssel stehen nicht im Schema, aber das Modul liest sie aus `dxpr_builder.settings`. Setzen Sie sie mit `drush config:set` oder einem Konfigurations-Override in `settings.php`.

| Schlüssel | Typ | Standard bei fehlendem Schlüssel | Beschreibung |
|---|---|---|---|
| `record_analytics` | boolean | `true` | Sendet bei true Editor-Nutzungsanalysen an `tuur.dxpr.com`. |
| `notifications` | boolean | `true` | Zeigt bei true DXPR-Benachrichtigungen im Editor. |
| `cloud_url` | string | `https://cdn2.dxpr.com/VERSION/` | CDN-Basis-URL für Editor-Assets; `VERSION` wird durch die Modulversion ersetzt. |
| `license_endpoint` | string | `https://dxpr.com/api/central-user-storage/` | Endpunkt für die Synchronisation lizenzierter Konten. |

## Seitenvorlagen

Konfigurationsobjekte: `dxpr_builder.page_template.*` (Entity-Typ `dxpr_builder_page_template`)

Admin-Pfad: `/admin/dxpr_studio/dxpr_builder/page_template`

| Schlüssel | Typ | Erlaubte Werte | Standard | Beschreibung |
|---|---|---|---|---|
| `id` | string | Systemname | erforderlich | Kennung. |
| `label` | label | Beliebiger Text | erforderlich | **Label**: Name, der in der Vorlagenauswahl gezeigt wird. |
| `status` | boolean | `true`, `false` | `true` | **Enabled**. Der Editor bietet nur aktivierte Vorlagen an und lädt sie. |
| `category` | text | Beliebiger Text | leer (das Formular erfordert ihn) | **Category**, unter der die Vorlage gruppiert wird. |
| `template` | string | DXPR Builder HTML | leer (das Formular erfordert ihn) | **Template**-Markup. |
| `weight` | integer | Beliebige Ganzzahl | leer (der Editor liest ihn als `0`) | **Weight**: Sortierreihenfolge. |
| `date` | integer | Unix-Zeitstempel | wird bei jedem Speichern vom Bearbeitungsformular gesetzt | Zeitpunkt der letzten Änderung. |
| `image` | string | Base64-kodierte Bildinhalte | leer | **Image**: Vorschaubild. |
| `uuid` | string | UUID | generiert | Universell eindeutige ID. |

Das Modul bringt fünf Seitenvorlagen mit in `config/install`: `about_me`, `about_us`, `homepage_basic`, `split_content_and_buttons` und `text_columns`.

## Benutzerprofile

Konfigurationsobjekte: `dxpr_builder.dxpr_builder_profile.*` (Entity-Typ `dxpr_builder_profile`)

Admin-Pfad: `/admin/dxpr_studio/dxpr_builder/profile`

Auf einem neuen Profil hakt das Formular jedes Element, jeden Block, jede Ansichtsanzeige, jede aktivierte Seitenvorlage, jede aktivierte globale Benutzervorlage und jedes Icon-Set an, plus einen Standardsatz Texteditor-Buttons. Die Standards unten sind die eigenen Werte der Entity.

| Schlüssel | Typ | Erlaubte Werte | Standard | Beschreibung |
|---|---|---|---|---|
| `id` | string | Systemname | erforderlich | Kennung. |
| `label` | label | Beliebiger Text | erforderlich | **Label**: Profilname. |
| `uuid` | string | UUID | generiert | Universell eindeutige ID. |
| `status` | boolean | `true`, `false` | `true` | **User profile enabled**. Deaktivierte Profile werden beim Rollenabgleich übersprungen. |
| `sidebar` | boolean | `true`, `false` | nicht gespeichert | Legacy-Schlüssel: im Schema deklariert, aber von der Entity nicht exportiert, also nie gespeichert. |
| `dxpr_editor` | boolean | `true`, `false` | `true`; Update 8008 hat ihn auf vorhandenen Profilen gesetzt | **Start editor when page loads**. Bei `false` erscheinen die Steuerungen erst, nachdem der Bearbeiter auf das Augen-Icon auf den Haupt-Container-Steuerungen klickt. |
| `controls_layout` | string | `default` (**Same as the site**), `element` (**On each element**), `breadcrumb` (**One row**) | `default` | **Control bars** im Bearbeitungsmodus für dieses Profil. Die eigene Einstellung eines Bearbeiters setzt sie außer Kraft. |
| `weight` | integer | `-10` bis `10` im Formular | `0` | **Weight**: Wenn die Rollen eines Bearbeiters auf mehrere aktivierte Profile passen, gewinnt das niedrigste Gewicht. |
| `roles` | Sequenz von Strings | Rollen-Systemnamen (das Formular lässt `anonymous` und `authenticated` aus) | leer | **Roles**, für die das Profil gilt. |
| `elements` | Sequenz von Strings | Element-Systemnamen (`az_text`, `az_image`, ...) | leer | Erlaubte **Elements**. |
| `all_elements` | boolean | `true`, `false` | `false` | **Check/Uncheck all Elements**. Bei `true` ist jedes Element erlaubt und `elements` wird ignoriert. |
| `blocks` | Sequenz von Strings | `az_block-<block plugin id>`-Werte | leer | Erlaubte **Blocks**. |
| `all_blocks` | boolean | `true`, `false` | `false` | **Check/Uncheck all Blocks**. Bei `true` ist jeder Block erlaubt, auch später hinzugefügte. |
| `views` | Sequenz von Strings | `az_view-<view id>-<display id>`-Werte | leer | Erlaubte **Views**-Anzeigen. |
| `all_views` | boolean | `true`, `false` | `false` | **Check/Uncheck all Views**. Bei `true` ist jede Ansichtsanzeige erlaubt, auch später hinzugefügte. |
| `page_templates` | Sequenz von Strings | Seitenvorlagen-UUIDs | leer | Erlaubte **Page templates**. |
| `all_page_templates` | boolean | `true`, `false` | `false` | **Check/Uncheck all Page templates**. Bei `true` ist jede Seitenvorlage erlaubt. |
| `user_templates` | Sequenz von Strings | UUIDs globaler Benutzervorlagen | leer | Erlaubte **Global user templates**. |
| `all_user_templates` | boolean | `true`, `false` | `false` | **Check/Uncheck all Global user templates**. Bei `true` ist jede globale Benutzervorlage erlaubt. |
| `icon_sets` | Sequenz von Strings | Icon-Set-IDs aus `*.dxpr_icon_sets.yml`-Dateien | leer | Erlaubte **Icon sets**. |
| `all_icon_sets` | boolean | `true`, `false` | nicht gesetzt (zählt als `true`) | **Check/Uncheck all Icon sets**. Bei `true` oder fehlend ist jedes Icon-Set erlaubt. |
| `inline_buttons` | Sequenz von Strings | CKEditor-5-Button-Namen | leer | **Text editor buttons (inline editing)**. Update 8036 hat CKEditor-4-Namen in dieser Liste und in `modal_buttons` migriert. |
| `modal_buttons` | Sequenz von Strings | CKEditor-5-Button-Namen | leer | **Text editor buttons (modal editing)**. |

## Benutzervorlagen

Konfigurationsobjekte: `dxpr_builder.user_template.*` (Entity-Typ `dxpr_builder_user_template`)

Admin-Pfad: `/admin/dxpr_studio/dxpr_builder/user_templates`

| Schlüssel | Typ | Erlaubte Werte | Standard | Beschreibung |
|---|---|---|---|---|
| `id` | string | Systemname | erforderlich | Kennung. |
| `label` | label | Beliebiger Text | erforderlich | **Label**: Vorlagenname. |
| `status` | boolean | `true`, `false` | `true` | Kein Formularfeld. Nur aktivierte Vorlagen lassen sich im Editor laden oder in eine Seitenvorlage kopieren. |
| `type` | string | Der `data-azb`-Elementtyp, aus dem die Vorlage gespeichert wurde, zum Beispiel `section`, `row`, `az_block`, `az_view` oder `custom` | `custom` | **Type**. Update 9021 füllt ihn aus dem Markup nach; `az_block_*` und `az_view_*`-Werte fallen zusammen auf `az_block` und `az_view`. |
| `template` | string | DXPR Builder HTML | leer | **Template**-Markup. Update 8013 hat Benutzervorlagen aus einer Datenbanktabelle in die Konfiguration verschoben. |
| `uid` | integer | Konto-ID | im Formular erforderlich | **UID**: der Eigentümer. |
| `global` | boolean | `true`, `false` | `true` (die Speicheranfrage des Editors sendet einen eigenen Wert) | **Global**: `true` macht die Vorlage für alle Bearbeiter verfügbar (je nach Profilen); `false` hält sie privat für den Eigentümer. |
| `image` | string | Base64-kodierte Bildinhalte | leer | **Image**: Vorschaubild. |
| `uuid` | string | UUID | generiert | Universell eindeutige ID. |

## Konfiguration exportieren

Exportieren Sie alle DXPR-Builder-Konfiguration:

```bash
drush config:export

```

Das exportiert Einstellungen, Profile, Seitenvorlagen und Benutzervorlagen als YAML-Dateien ins Config-Sync-Verzeichnis. Wenn `api_key_storage` `key` ist, ist der Produktschlüssel nicht Teil von `dxpr_builder.settings`. Er liegt in der gewählten Key-Entity und folgt dem eigenen Provider jenes Schlüssels, etwa Konfiguration, einer Datei oder einer Umgebungsvariable.

## Wie geht es weiter?

- [Allgemeine Einstellungen](/de/hc/documentation/learn-dxpr-builder/admin/general-settings): das Einstellungsformular
- [Firewall und Datenresidenz](/de/hc/documentation/learn-dxpr-builder/getting-started/behind-a-firewall): die Schlüssel, die ausgehende Verbindungen steuern
- [API-Endpunkte](/de/hc/dokumentation/dxpr-builder-lernen/referenz/api-endpunkte): Routen, die diese Konfiguration lesen