Referencia de la API.
Los servicios PHP, puntos de extensión JavaScript y rutas que
DXPR Builder define. Los ID de servicio vienen de
dxpr_builder.services.yml, las rutas de dxpr_builder.routing.yml.
Para detalles de petición y respuesta de cada ruta, consulta
Endpoints de la API.
Servicios PHP
| ID de servicio | Clase (en src/) |
Propósito |
|---|---|---|
dxpr_builder.service |
Service\DxprBuilderService |
Prepara contenido del constructor para la salida, gestiona tokens de ruta, crea el registro de conjuntos de iconos |
dxpr_builder.license_service |
Service\DxprBuilderLicenseService |
Estado de licencia, personas facturables, sincronización de edición con DXPR |
dxpr_builder.key_service |
Service\DxprBuilderKeyService |
Lee y guarda la clave de producto |
dxpr_builder.jwt_decoder |
Service\DxprBuilderJWTDecoder |
Decodifica el payload de la clave de producto |
dxpr_builder.user_settings |
Service\UserSettings |
Ajustes de editor propios de cada persona que edita, guardados en datos de usuario |
dxpr_builder.content_lock |
Service\ContentLock |
Registra qué persona edita una revisión de entidad |
dxpr_builder.content_migration |
Service\ContentMigrationService |
Ejecuta migraciones de contenido; recoge servicios etiquetados dxpr_builder.content_migration |
dxpr_builder.profile_handler |
Service\Handler\ProfileHandler |
Convierte un perfil en ajustes de editor |
dxpr_builder.handler.block |
Service\Handler\BlockHandler |
Renderiza bloques Drupal puestos como elementos |
dxpr_builder.handler.view |
Service\Handler\ViewHandler |
Renderiza pantallas de vistas puestas como elementos |
dxpr_builder.template_image_validator |
Service\TemplateImageValidator |
Valida imágenes de vista previa de plantillas |
dxpr_builder.rl_variant.extractor, dxpr_builder.rl_variant.registrar |
RlIntegration\Service\* |
Variantes de pruebas A/B; inactivo sin el módulo RL |
dxpr_builder.rl_sort.extractor, dxpr_builder.rl_sort.registrar |
RlIntegration\Service\* |
Experimentos de ordenación inteligente; inactivo sin el módulo RL |
logger.channel.dxpr_builder |
canal de registro del núcleo | Canal de registro dxpr_builder |
DxprBuilderServiceInterface
Implementado por dxpr_builder.service. Los métodos que más
probablemente llamarás:
insertBaseTokens($content): reemplaza la URL base de este sitio, el directorio de archivos y la ruta del módulo con tokens. El editor guarda contenido en esta forma.replaceBaseTokens(&$content): void: expande los tokens de vuelta a URL para el entorno actual.stripHtmlElementPersists(string $markup): string: quita los atributosdata-az-persist. Ejecútalo en marcado escrito fuera del editor; el editor los reconstruye al cargar.getCmsElementNames(): los bloques y pantallas de vistas ofrecidos como elementos, en caché.getIconSets(): array: el registro de conjuntos de iconos tras el descubrimiento YAML yhook_dxpr_builder_icon_sets_alter().
$markup = \Drupal::service('dxpr_builder.service')->insertBaseTokens($html);
DxprBuilderLicenseServiceInterface
Implementado por dxpr_builder.license_service.
isBillableUser(?AccountInterface $account = NULL): bool: TRUE para el usuario 1 y para cuentas activas conedit with dxpr builderno excluidas de la edición con DXPR Builder.getLicenseInfo(): estado de licencia desde el servidor de licencias de DXPR, en caché. Sin clave de producto devuelve el nivel gratuito: una persona y 100 elementos de contenido.syncAllUsersWithCentralStorage(string $operation, string $json_web_token = ''): void: envía las personas que editan de este sitio a DXPR.$operationes una de las constantes de interfazDXPR_USER_SYNC_OPERATION(sync),DXPR_USER_ADD_OPERATION(add) oDXPR_USER_REMOVE_OPERATION(remove).
DxprBuilderKeyService
getApiKey(): ?string: la clave de producto. Cuando el ajusteapi_key_storageeskey, lee la entidad Key nombrada enkey_provider; si no, leejson_web_token.setApiKey(string $key_value, string $storage_type = 'config', ?string $selected_key_id = NULL): void: guarda la clave en configuración o en una entidad Key.
DxprBuilderJWTDecoder
decodeJwt(string $access_token): devuelve los claimssub,scopeydxpr_tierde la clave de producto, cada uno NULL cuando el token no puede leerse. El resultado se guarda en caché por token.
Puntos de extensión JavaScript
Los scripts del editor comparten dos arrays en window.dxprBuilder. Pon
tus propios objetos en ellos entre el script que crea el
array y dxpr_builder.js, que los lee una vez al ejecutarse.
| Array | Creado por | Lo que dxpr_builder.js hace con él |
|---|---|---|
dxpr_param_types |
dxpr_param_types.js |
Registra cada objeto como tipo de parámetro con register_param_type() |
dxpr_elements |
dxpr_elements.js |
create_dxpr_elements() registra cada definición con register_animated_element() y convierte sus params con make_param_type() |
Los tipos de parámetro que el módulo registra son boxmodel, checkbox,
checkboxes, colorpicker, datetime, dropdown, dxb_slider,
html, icon, image, images, link, links, numericfield,
row_layout, saved_datetime, social_links, textarea,
textfield y video. Un parámetro con un type desconocido se renderiza
como una entrada de texto simple.
Elementos personalizados muestra una definición completa de elemento y cómo cargarla en el momento justo.
Rutas del editor
Leyenda de acceso: billable es la comprobación
_dxpr_builder_billable_user (usuario 1, o una cuenta activa con edit with dxpr builder
no excluida); CSRF es _csrf_token.
| Ruta | Nombre de ruta | Métodos | Acceso |
|---|---|---|---|
/dxpr_builder/ajax |
dxpr_builder.ajax_callback |
cualquiera | 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 |
cualquiera | billable |
/dxpr_builder/ajax/help_link_validator |
dxpr_builder.ajax_help_link_validator |
cualquiera | billable |
/dxpr_builder/media-library |
dxpr_builder.media_library |
cualquiera | 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 |
Rutas de administración
Todas las páginas de administración están en DXPR Studio > DXPR Builder. La columna de pestaña muestra la etiqueta en el menú de administración.
| Ruta | Pestaña | Permiso |
|---|---|---|
/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 |