Référence de l’API.
Les services PHP, points d’extension JavaScript et routes définis par DXPR Builder. Les identifiants de service viennent de dxpr_builder.services.yml, les routes de dxpr_builder.routing.yml. Pour les détails de requête et réponse de chaque route, voir Points d’accès de l’API.
Services PHP
| Identifiant de service | Classe (dans src/) |
Rôle |
|---|---|---|
dxpr_builder.service |
Service\DxprBuilderService |
Prépare le contenu du builder pour la sortie, gère les jetons de chemin, construit le registre des jeux d’icônes |
dxpr_builder.license_service |
Service\DxprBuilderLicenseService |
Statut de licence, utilisateurs facturables, synchro des contributeurs avec DXPR |
dxpr_builder.key_service |
Service\DxprBuilderKeyService |
Lit et stocke la clé de produit |
dxpr_builder.jwt_decoder |
Service\DxprBuilderJWTDecoder |
Décode le contenu de la clé de produit |
dxpr_builder.user_settings |
Service\UserSettings |
Les réglages d’éditeur propres à chaque contributeur, gardés dans les données utilisateur |
dxpr_builder.content_lock |
Service\ContentLock |
Enregistre quel utilisateur modifie une révision d’entité |
dxpr_builder.content_migration |
Service\ContentMigrationService |
Exécute les migrations de contenu ; collecte les services taggés dxpr_builder.content_migration |
dxpr_builder.profile_handler |
Service\Handler\ProfileHandler |
Transforme un profil en réglages d’éditeur |
dxpr_builder.handler.block |
Service\Handler\BlockHandler |
Rend les blocs Drupal placés comme éléments |
dxpr_builder.handler.view |
Service\Handler\ViewHandler |
Rend les affichages de vues placés comme éléments |
dxpr_builder.template_image_validator |
Service\TemplateImageValidator |
Valide les images d’aperçu des modèles |
dxpr_builder.rl_variant.extractor, dxpr_builder.rl_variant.registrar |
RlIntegration\Service\* |
Variantes de test A/B ; inactif sans le module RL |
dxpr_builder.rl_sort.extractor, dxpr_builder.rl_sort.registrar |
RlIntegration\Service\* |
Expériences de tri intelligent ; inactif sans le module RL |
logger.channel.dxpr_builder |
canal de log du cœur | Canal de log dxpr_builder |
DxprBuilderServiceInterface
Implémenté par dxpr_builder.service. Les méthodes que vous appellerez le plus probablement :
insertBaseTokens($content): remplace l’URL de base de ce site, le répertoire des fichiers et le chemin du module par des jetons. L’éditeur stocke le contenu sous cette forme.replaceBaseTokens(&$content): void: réétend les jetons en URL pour l’environnement actuel.stripHtmlElementPersists(string $markup): string: retire les attributsdata-az-persist. Exécutez-la sur du balisage écrit hors de l’éditeur ; l’éditeur les reconstruit au chargement.getCmsElementNames(): les affichages de blocs et de vues proposés comme éléments, mis en cache.getIconSets(): array: le registre des jeux d’icônes après découverte YAML ethook_dxpr_builder_icon_sets_alter().
$markup = \Drupal::service('dxpr_builder.service')->insertBaseTokens($html);
DxprBuilderLicenseServiceInterface
Implémenté par dxpr_builder.license_service.
isBillableUser(?AccountInterface $account = NULL): bool: TRUE pour l’utilisateur 1 et pour les comptes actifs avecedit with dxpr builderqui ne sont pas exclus de la modification DXPR Builder.getLicenseInfo(): statut de licence depuis le serveur de licences DXPR, mis en cache. Sans clé de produit, il renvoie le palier gratuit : un utilisateur et 100 contenus.syncAllUsersWithCentralStorage(string $operation, string $json_web_token = ''): void: envoie les contributeurs de ce site à DXPR.$operationest l’une des constantes d’interfaceDXPR_USER_SYNC_OPERATION(sync),DXPR_USER_ADD_OPERATION(add) ouDXPR_USER_REMOVE_OPERATION(remove).
DxprBuilderKeyService
getApiKey(): ?string: la clé de produit. Quand le réglageapi_key_storagevautkey, il lit l’entité Key nommée danskey_provider; sinon il litjson_web_token.setApiKey(string $key_value, string $storage_type = 'config', ?string $selected_key_id = NULL): void: stocke la clé en config ou dans une entité Key.
DxprBuilderJWTDecoder
decodeJwt(string $access_token): renvoie les claimssub,scopeetdxpr_tierde la clé de produit, chacun NULL quand le jeton ne peut pas être lu. Le résultat est mis en cache par jeton.
Points d’extension JavaScript
Les scripts de l’éditeur partagent deux tableaux sur window.dxprBuilder. Empilez vos propres objets dessus entre le script qui crée le tableau et dxpr_builder.js, qui les lit une fois à son exécution.
| Tableau | Créé par | Ce que dxpr_builder.js en fait |
|---|---|---|
dxpr_param_types |
dxpr_param_types.js |
Enregistre chaque objet comme type de paramètre avec register_param_type() |
dxpr_elements |
dxpr_elements.js |
create_dxpr_elements() enregistre chaque définition avec register_animated_element() et convertit ses params avec make_param_type() |
Les types de paramètres enregistrés par le module sont boxmodel, checkbox, checkboxes, colorpicker, datetime, dropdown, dxb_slider, html, icon, image, images, link, links, numericfield, row_layout, saved_datetime, social_links, textarea, textfield et video. Un paramètre avec un type inconnu est rendu comme un champ de texte brut.
Éléments personnalisés montre une définition complète d’élément et comment la charger au bon moment.
Routes de l’éditeur
Légende d’accès : billable est la vérification _dxpr_builder_billable_user (utilisateur 1, ou un compte actif avec edit with dxpr builder qui n’est pas exclu) ; CSRF est _csrf_token.
| Chemin | Nom de route | Méthodes | Accès |
|---|---|---|---|
/dxpr_builder/ajax |
dxpr_builder.ajax_callback |
toutes | 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 |
toutes | billable |
/dxpr_builder/ajax/help_link_validator |
dxpr_builder.ajax_help_link_validator |
toutes | billable |
/dxpr_builder/media-library |
dxpr_builder.media_library |
toutes | 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 |
Routes d’admin
Toutes les pages d’admin se trouvent sous DXPR Studio > DXPR Builder. La colonne des onglets montre le libellé dans le menu d’admin.
| Chemin | Onglet | Permission |
|---|---|---|
/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 (sous 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 |