Довідник API.
Служби PHP, точки розширення JavaScript і маршрути, які
визначає DXPR Builder. ID служб походять із
dxpr_builder.services.yml, маршрути з dxpr_builder.routing.yml.
Деталі запитів і відповідей кожного маршруту див. на
сторінці Кінцеві точки API.
Служби PHP
| ID служби | Клас (у src/) |
Призначення |
|---|---|---|
dxpr_builder.service |
Service\DxprBuilderService |
Готує вміст конструктора для виводу, обробляє токени шляхів, будує реєстр наборів піктограм |
dxpr_builder.license_service |
Service\DxprBuilderLicenseService |
Статус ліцензії, оплачувані користувачі, синхронізація редакторів із DXPR |
dxpr_builder.key_service |
Service\DxprBuilderKeyService |
Читає та зберігає ключ продукту |
dxpr_builder.jwt_decoder |
Service\DxprBuilderJWTDecoder |
Декодує корисне навантаження ключа продукту |
dxpr_builder.user_settings |
Service\UserSettings |
Власні налаштування редактора кожного редактора, збережені в даних користувача |
dxpr_builder.content_lock |
Service\ContentLock |
Записує, який користувач редагує ревізію сутності |
dxpr_builder.content_migration |
Service\ContentMigrationService |
Запускає міграції вмісту; збирає служби з тегом dxpr_builder.content_migration |
dxpr_builder.profile_handler |
Service\Handler\ProfileHandler |
Перетворює профіль на налаштування редактора |
dxpr_builder.handler.block |
Service\Handler\BlockHandler |
Рендерить блоки Drupal, розміщені як елементи |
dxpr_builder.handler.view |
Service\Handler\ViewHandler |
Рендерить покази подань, розміщені як елементи |
dxpr_builder.template_image_validator |
Service\TemplateImageValidator |
Перевіряє зображення попереднього перегляду шаблонів |
dxpr_builder.rl_variant.extractor, dxpr_builder.rl_variant.registrar |
RlIntegration\Service\* |
Варіанти A/B-тестів; неактивні без модуля RL |
dxpr_builder.rl_sort.extractor, dxpr_builder.rl_sort.registrar |
RlIntegration\Service\* |
Експерименти розумного сортування; неактивні без модуля RL |
logger.channel.dxpr_builder |
канал журналу ядра | Канал журналу dxpr_builder |
DxprBuilderServiceInterface
Реалізовано dxpr_builder.service. Методи, які ви найімовірніше
викличете:
insertBaseTokens($content): замінює базовий URL цього сайту, теку файлів і шлях модуля токенами. Редактор зберігає вміст у цій формі.replaceBaseTokens(&$content): void: розгортає токени назад в URL для поточного середовища.stripHtmlElementPersists(string $markup): string: вилучає атрибутиdata-az-persist. Запускайте його на розмітці, написаній поза редактором; редактор перебудовує їх під час завантаження.getCmsElementNames(): блоки та покази подань, запропоновані як елементи, кешовано.getIconSets(): array: реєстр наборів піктограм після виявлення YAML іhook_dxpr_builder_icon_sets_alter().
$markup = \Drupal::service('dxpr_builder.service')->insertBaseTokens($html);
DxprBuilderLicenseServiceInterface
Реалізовано dxpr_builder.license_service.
isBillableUser(?AccountInterface $account = NULL): bool: TRUE для користувача 1 та активних облікових записів ізedit with dxpr builder, які не виключено з редагування DXPR Builder.getLicenseInfo(): статус ліцензії із сервера ліцензій DXPR, кешовано. Без ключа продукту повертає безкоштовний рівень: один користувач і 100 елементів вмісту.syncAllUsersWithCentralStorage(string $operation, string $json_web_token = ''): void: надсилає редакторів цього сайту до DXPR.$operationце одна з констант інтерфейсуDXPR_USER_SYNC_OPERATION(sync),DXPR_USER_ADD_OPERATION(add) абоDXPR_USER_REMOVE_OPERATION(remove).
DxprBuilderKeyService
getApiKey(): ?string: ключ продукту. Коли налаштуванняapi_key_storageцеkey, він читає сутність Key, названу вkey_provider; інакше він читаєjson_web_token.setApiKey(string $key_value, string $storage_type = 'config', ?string $selected_key_id = NULL): void: зберігає ключ у конфігурації або в сутності Key.
DxprBuilderJWTDecoder
decodeJwt(string $access_token): повертає клеймиsub,scopeіdxpr_tierключа продукту, кожен NULL, коли токен не можна прочитати. Результат кешується на токен.
Точки розширення JavaScript
Скрипти редактора ділять два масиви на window.dxprBuilder. Додавайте
власні об’єкти до них між скриптом, що створює
масив, і dxpr_builder.js, який читає їх один раз під час запуску.
| Масив | Створено | Що dxpr_builder.js робить із ним |
|---|---|---|
dxpr_param_types |
dxpr_param_types.js |
Реєструє кожен об’єкт як тип параметра за допомогою register_param_type() |
dxpr_elements |
dxpr_elements.js |
create_dxpr_elements() реєструє кожне визначення за допомогою register_animated_element() і конвертує його params за допомогою make_param_type() |
Типи параметрів, які реєструє модуль: boxmodel, checkbox,
checkboxes, colorpicker, datetime, dropdown, dxb_slider,
html, icon, image, images, link, links, numericfield,
row_layout, saved_datetime, social_links, textarea,
textfield і video. Параметр із невідомим type рендериться
як звичайне текстове поле.
Власні елементи показують повне визначення елемента і як завантажити його в правильний момент.
Маршрути редактора
Легенда доступу: billable це перевірка _dxpr_builder_billable_user
(користувач 1, або активний обліковий запис із edit with dxpr builder,
який не виключено); CSRF це _csrf_token.
| Шлях | Назва маршруту | Методи | Доступ |
|---|---|---|---|
/dxpr_builder/ajax |
dxpr_builder.ajax_callback |
будь-який | 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 |
будь-який | billable |
/dxpr_builder/ajax/help_link_validator |
dxpr_builder.ajax_help_link_validator |
будь-який | billable |
/dxpr_builder/media-library |
dxpr_builder.media_library |
будь-який | 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 |
Маршрути адміністрування
Усі сторінки адміністрування стоять під DXPR Studio > DXPR Builder. Колонка вкладки показує мітку в меню адміністрування.
| Шлях | Вкладка | Дозвіл |
|---|---|---|
/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 (під 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 |