Dokumentacja 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 atrybutydata-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 ihook_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 zedit 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.$operationto jedna ze stałych interfejsuDXPR_USER_SYNC_OPERATION(sync),DXPR_USER_ADD_OPERATION(add) alboDXPR_USER_REMOVE_OPERATION(remove).
DxprBuilderKeyService
getApiKey(): ?string: klucz produktu. Gdy ustawienieapi_key_storagetokey, odczytuje encję Key nazwaną wkey_provider; w przeciwnym razie odczytujejson_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świadczeniasub,scopeidxpr_tierklucza 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 |