API-Referenz.
Die PHP-Dienste, JavaScript-Erweiterungspunkte und Routen, die
DXPR Builder definiert. Dienst-IDs stammen aus
dxpr_builder.services.yml, Routen aus dxpr_builder.routing.yml.
Für Anfrage- und Antwortdetails jeder Route siehe
API-Endpunkte.
PHP-Dienste
| Dienst-ID | Klasse (in src/) |
Zweck |
|---|---|---|
dxpr_builder.service |
Service\DxprBuilderService |
Bereitet Builder-Inhalte für die Ausgabe vor, behandelt Pfad-Token, baut die Icon-Set-Registry |
dxpr_builder.license_service |
Service\DxprBuilderLicenseService |
Lizenzstatus, abrechenbare Konten, Redaktions-Sync mit DXPR |
dxpr_builder.key_service |
Service\DxprBuilderKeyService |
Liest und speichert den Produktschlüssel |
dxpr_builder.jwt_decoder |
Service\DxprBuilderJWTDecoder |
Decodiert die Payload des Produktschlüssels |
dxpr_builder.user_settings |
Service\UserSettings |
Die eigenen Editor-Einstellungen jeder bearbeitenden Person, gehalten in Benutzerdaten |
dxpr_builder.content_lock |
Service\ContentLock |
Vermerkt, welches Konto eine Entitätsrevision bearbeitet |
dxpr_builder.content_migration |
Service\ContentMigrationService |
Führt Inhaltsmigrationen aus; sammelt Dienste mit Tag dxpr_builder.content_migration |
dxpr_builder.profile_handler |
Service\Handler\ProfileHandler |
Macht aus einem Profil Editor-Einstellungen |
dxpr_builder.handler.block |
Service\Handler\BlockHandler |
Rendert Drupal-Blöcke, die als Elemente platziert sind |
dxpr_builder.handler.view |
Service\Handler\ViewHandler |
Rendert Ansichtsanzeigen, die als Elemente platziert sind |
dxpr_builder.template_image_validator |
Service\TemplateImageValidator |
Validiert Vorlagen-Vorschaubilder |
dxpr_builder.rl_variant.extractor, dxpr_builder.rl_variant.registrar |
RlIntegration\Service\* |
A/B-Test-Varianten; ohne RL-Modul inaktiv |
dxpr_builder.rl_sort.extractor, dxpr_builder.rl_sort.registrar |
RlIntegration\Service\* |
Smart-Sort-Experimente; ohne RL-Modul inaktiv |
logger.channel.dxpr_builder |
Core-Logger-Kanal | Protokollkanal dxpr_builder |
DxprBuilderServiceInterface
Implementiert von dxpr_builder.service. Die Methoden, die Sie am
wahrscheinlichsten aufrufen:
insertBaseTokens($content): ersetzt Basis-URL, Dateiverzeichnis und Modulpfad dieser Website durch Token. Der Editor speichert Inhalte in dieser Form.replaceBaseTokens(&$content): void: expandiert die Token zurück zu URLs für die aktuelle Umgebung.stripHtmlElementPersists(string $markup): string: entfernt diedata-az-persist-Attribute. Führen Sie es auf Markup aus, das außerhalb des Editors geschrieben wurde; der Editor baut sie beim Laden neu auf.getCmsElementNames(): die als Elemente angebotenen Block- und Ansichtsanzeigen, zwischengespeichert.getIconSets(): array: die Icon-Set-Registry nach YAML-Erkennung undhook_dxpr_builder_icon_sets_alter().
$markup = \Drupal::service('dxpr_builder.service')->insertBaseTokens($html);
DxprBuilderLicenseServiceInterface
Implementiert von dxpr_builder.license_service.
isBillableUser(?AccountInterface $account = NULL): bool: TRUE für Benutzer 1 und für aktive Konten mitedit with dxpr builder, die nicht vom DXPR-Builder-Bearbeiten ausgeschlossen sind.getLicenseInfo(): Lizenzstatus vom DXPR-Lizenzserver, zwischengespeichert. Ohne Produktschlüssel liefert es die Gratis-Stufe: ein Konto und 100 Inhalte.syncAllUsersWithCentralStorage(string $operation, string $json_web_token = ''): void: sendet die Bearbeitenden dieser Website an DXPR.$operationist eine der Interface-KonstantenDXPR_USER_SYNC_OPERATION(sync),DXPR_USER_ADD_OPERATION(add) oderDXPR_USER_REMOVE_OPERATION(remove).
DxprBuilderKeyService
getApiKey(): ?string: der Produktschlüssel. Wenn dieapi_key_storage-Einstellungkeyist, liest er die Key-Entität, die inkey_providergenannt ist; sonst liest erjson_web_token.setApiKey(string $key_value, string $storage_type = 'config', ?string $selected_key_id = NULL): void: speichert den Schlüssel in der Konfiguration oder in einer Key-Entität.
DxprBuilderJWTDecoder
decodeJwt(string $access_token): liefert die Claimssub,scopeunddxpr_tierdes Produktschlüssels, je NULL, wenn das Token nicht lesbar ist. Das Ergebnis wird pro Token zwischengespeichert.
JavaScript-Erweiterungspunkte
Die Editor-Skripte teilen zwei Arrays auf window.dxprBuilder. Pushen
Sie eigene Objekte darauf, zwischen dem Skript, das das Array erzeugt,
und dxpr_builder.js, das sie beim Laufen einmal liest.
| Array | Erzeugt von | Was dxpr_builder.js damit tut |
|---|---|---|
dxpr_param_types |
dxpr_param_types.js |
Registriert jedes Objekt als Parametertyp mit register_param_type() |
dxpr_elements |
dxpr_elements.js |
create_dxpr_elements() registriert jede Definition mit register_animated_element() und konvertiert ihre params durch make_param_type() |
Die Parametertypen, die das Modul registriert, sind boxmodel, checkbox,
checkboxes, colorpicker, datetime, dropdown, dxb_slider,
html, icon, image, images, link, links, numericfield,
row_layout, saved_datetime, social_links, textarea,
textfield und video. Ein Parameter mit unbekanntem type rendert
als schlichte Texteingabe.
Eigene Elemente zeigt eine vollständige Elementdefinition und wie sie im richtigen Moment geladen wird.
Editor-Routen
Legende: billable ist die _dxpr_builder_billable_user-Prüfung
(Benutzer 1, oder ein aktives Konto mit edit with dxpr builder,
das nicht ausgeschlossen ist); CSRF ist _csrf_token.
| Pfad | Routenname | Methoden | Zugang |
|---|---|---|---|
/dxpr_builder/ajax |
dxpr_builder.ajax_callback |
any | billable, CSRF |
/dxpr_builder/ajax/file_upload |
dxpr_builder.ajax_file_upload_callback |
POST, DELETE | billable, CSRF |
/dxpr_builder/ajax/ai/chat |
dxpr_builder.ai_chat |
POST | edit with dxpr builder, billable, CSRF |
/dxpr_builder/ajax/ai/image |
dxpr_builder.ai_image |
POST | edit with dxpr builder, billable, CSRF |
/dxpr_builder/ajax/ai/image/edit |
dxpr_builder.ai_image_edit |
POST | edit with dxpr builder, billable, CSRF |
/dxpr_builder/csrf |
dxpr_builder.csrf_refresh |
any | billable |
/dxpr_builder/ajax/help_link_validator |
dxpr_builder.ajax_help_link_validator |
any | billable |
/dxpr_builder/media-library |
dxpr_builder.media_library |
any | view media |
/dxpr_builder/entity-link-suggestions |
dxpr_builder.entity_link_suggestions |
GET | edit with dxpr builder, CSRF |
/dxpr_builder/user-settings |
dxpr_builder.user_settings |
POST | edit with dxpr builder, CSRF |
Admin-Routen
Alle Admin-Seiten liegen unter DXPR Studio > DXPR Builder. Die Tab-Spalte zeigt die Bezeichnung im Admin-Menü.
| Pfad | Tab | Berechtigung |
|---|---|---|
/admin/dxpr_studio |
DXPR Studio | administer dxpr builder configuration |
/admin/dxpr_studio/dxpr_builder |
DXPR Builder | administer dxpr builder configuration |
/admin/dxpr_studio/dxpr_builder/settings |
General Settings | administer dxpr builder configuration |
/admin/dxpr_studio/dxpr_builder/ai_settings |
AI | administer dxpr builder configuration |
/admin/dxpr_studio/dxpr_builder/content |
Content Items | administer dxpr builder configuration |
/admin/dxpr_studio/dxpr_builder/migration-status |
Migrations (under Content Items) | administer dxpr builder configuration |
/admin/dxpr_studio/dxpr_builder/page_template |
Page Templates | administer site configuration |
/admin/dxpr_studio/dxpr_builder/user_licenses |
User Licenses | administer dxpr builder configuration |
/admin/dxpr_studio/dxpr_builder/profile |
User Profiles | administer dxpr_builder_profile |
/admin/dxpr_studio/dxpr_builder/user_templates |
User Templates | administer site configuration |