Dokumentacja API.

Poznaj DXPR BuilderRozszerzeniaArchitektura i API

Usługi PHP, punkty rozszerzeń JavaScript i trasy definiowane przez kreator DXPR. ID usług pochodzą z dxpr_builder.services.yml, trasy z dxpr_builder.routing.yml. Szczegóły żądań i odpowiedzi każdej trasy znajdziesz w punktach końcowych API.

Usługi PHP

ID usługi Klasa (w src/) Przeznaczenie
dxpr_builder.service Service\DxprBuilderService Przygotowuje treści kreatora do wyniku, obsługuje tokeny ścieżek, buduje rejestr zestawów ikon
dxpr_builder.license_service Service\DxprBuilderLicenseService Status licencji, użytkownicy rozliczani, synchronizacja redaktorów z DXPR
dxpr_builder.key_service Service\DxprBuilderKeyService Odczytuje i przechowuje klucz produktu
dxpr_builder.jwt_decoder Service\DxprBuilderJWTDecoder Dekoduje ładunek klucza produktu
dxpr_builder.user_settings Service\UserSettings Własne ustawienia edytora każdego redaktora, trzymane w danych użytkownika
dxpr_builder.content_lock Service\ContentLock Zapisuje, który użytkownik edytuje rewizję encji
dxpr_builder.content_migration Service\ContentMigrationService Uruchamia migracje treści; zbiera usługi otagowane dxpr_builder.content_migration
dxpr_builder.profile_handler Service\Handler\ProfileHandler Zamienia profil w ustawienia edytora
dxpr_builder.handler.block Service\Handler\BlockHandler Renderuje bloki Drupala umieszczone jako elementy
dxpr_builder.handler.view Service\Handler\ViewHandler Renderuje wyświetlenia widoków umieszczone jako elementy
dxpr_builder.template_image_validator Service\TemplateImageValidator Waliduje obrazy podglądu szablonów
dxpr_builder.rl_variant.extractor, dxpr_builder.rl_variant.registrar RlIntegration\Service\* Warianty testów A/B; nieaktywne bez modułu RL
dxpr_builder.rl_sort.extractor, dxpr_builder.rl_sort.registrar RlIntegration\Service\* Eksperymenty inteligentnego sortowania; nieaktywne bez modułu RL
logger.channel.dxpr_builder główny kanał loggera Kanał dziennika dxpr_builder

DxprBuilderServiceInterface

Implementowane przez dxpr_builder.service. Metody, które najpewniej wywołasz:

  • insertBaseTokens($content): zastępuje bazowy URL witryny, katalog plików i ścieżkę modułu tokenami. Edytor przechowuje treści w tej formie.
  • replaceBaseTokens(&$content): void: rozwija tokeny z powrotem w URL-e dla bieżącego środowiska.
  • stripHtmlElementPersists(string $markup): string: usuwa atrybuty data-az-persist. Uruchom na znacznikach zapisanych poza edytorem; edytor przebudowuje je przy wczytaniu.
  • getCmsElementNames(): bloki i wyświetlenia widoków oferowane jako elementy, buforowane.
  • getIconSets(): array: rejestr zestawów ikon po wykryciu YAML i hook_dxpr_builder_icon_sets_alter().
$markup = \Drupal::service('dxpr_builder.service')->insertBaseTokens($html);

DxprBuilderLicenseServiceInterface

Implementowane przez dxpr_builder.license_service.

  • isBillableUser(?AccountInterface $account = NULL): bool: TRUE dla użytkownika 1 i dla aktywnych kont z edit with dxpr builder, niewykluczonych z edycji w kreatorze DXPR.
  • getLicenseInfo(): status licencji z serwera licencyjnego DXPR, buforowany. Bez klucza produktu zwraca plan darmowy: jeden użytkownik i 100 elementów treści.
  • syncAllUsersWithCentralStorage(string $operation, string $json_web_token = ''): void: wysyła redaktorów witryny do DXPR. $operation to jedna ze stałych interfejsu DXPR_USER_SYNC_OPERATION (sync), DXPR_USER_ADD_OPERATION (add) albo DXPR_USER_REMOVE_OPERATION (remove).

DxprBuilderKeyService

  • getApiKey(): ?string: klucz produktu. Gdy ustawienie api_key_storage to key, odczytuje encję Key nazwaną w key_provider; w przeciwnym razie odczytuje json_web_token.
  • setApiKey(string $key_value, string $storage_type = 'config', ?string $selected_key_id = NULL): void: przechowuje klucz w konfiguracji albo w encji Key.

DxprBuilderJWTDecoder

  • decodeJwt(string $access_token): zwraca oświadczenia sub, scope i dxpr_tier klucza produktu, każde NULL, gdy tokenu nie da się odczytać. Wynik jest buforowany dla tokenu.

Punkty rozszerzeń JavaScript

Skrypty edytora współdzielą dwie tablice na window.dxprBuilder. Wepchnij własne obiekty na nie między skryptem tworzącym tablicę a dxpr_builder.js, który odczytuje je raz przy uruchomieniu.

Tablica Tworzona przez Co dxpr_builder.js z nią robi
dxpr_param_types dxpr_param_types.js Rejestruje każdy obiekt jako typ parametru przez register_param_type()
dxpr_elements dxpr_elements.js create_dxpr_elements() rejestruje każdą definicję przez register_animated_element() i konwertuje jej params przez make_param_type()

Typy parametrów rejestrowane przez moduł to boxmodel, checkbox, checkboxes, colorpicker, datetime, dropdown, dxb_slider, html, icon, image, images, link, links, numericfield, row_layout, saved_datetime, social_links, textarea, textfield i video. Parametr z nieznanym type renderuje się jako zwykłe pole tekstowe.

Własne elementy pokazują kompletną definicję elementu i jak ją wczytać we właściwym momencie.

Trasy edytora

Legenda dostępu: billable to kontrola _dxpr_builder_billable_user (użytkownik 1 albo aktywne konto z edit with dxpr builder, niewykluczone); CSRF to _csrf_token.

Ścieżka Nazwa trasy Metody Dostęp
/dxpr_builder/ajax dxpr_builder.ajax_callback dowolne 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 dowolne billable
/dxpr_builder/ajax/help_link_validator dxpr_builder.ajax_help_link_validator dowolne billable
/dxpr_builder/media-library dxpr_builder.media_library dowolne 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

Trasy administracyjne

Wszystkie strony administracyjne znajdują się w DXPR Studio > DXPR Builder. Kolumna kart pokazuje etykietę w menu administracyjnym.

Ścieżka Karta Uprawnienie
/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