Riferimento API.
I servizi PHP, i punti di estensione JavaScript e le route che
DXPR Builder definisce. Gli ID dei servizi vengono da
dxpr_builder.services.yml, le route da dxpr_builder.routing.yml.
Per i dettagli di richiesta e risposta di ogni route, vedi
Endpoint API.
Servizi PHP
| ID servizio | Classe (in src/) |
Scopo |
|---|---|---|
dxpr_builder.service |
Service\DxprBuilderService |
Prepara i contenuti builder per l’output, gestisce i token di percorso, costruisce il registro dei set di icone |
dxpr_builder.license_service |
Service\DxprBuilderLicenseService |
Stato della licenza, utenti fatturabili, sincronizzazione editor con DXPR |
dxpr_builder.key_service |
Service\DxprBuilderKeyService |
Legge e memorizza la chiave prodotto |
dxpr_builder.jwt_decoder |
Service\DxprBuilderJWTDecoder |
Decodifica il payload della chiave prodotto |
dxpr_builder.user_settings |
Service\UserSettings |
Le impostazioni editor proprie di ogni editor, conservate nei dati utente |
dxpr_builder.content_lock |
Service\ContentLock |
Registra quale utente modifica una revisione di entità |
dxpr_builder.content_migration |
Service\ContentMigrationService |
Esegue migrazioni di contenuti; raccoglie i servizi taggati dxpr_builder.content_migration |
dxpr_builder.profile_handler |
Service\Handler\ProfileHandler |
Trasforma un profilo in impostazioni editor |
dxpr_builder.handler.block |
Service\Handler\BlockHandler |
Renderizza i blocchi Drupal messi come elementi |
dxpr_builder.handler.view |
Service\Handler\ViewHandler |
Renderizza le visualizzazioni di viste messe come elementi |
dxpr_builder.template_image_validator |
Service\TemplateImageValidator |
Valida le immagini di anteprima dei modelli |
dxpr_builder.rl_variant.extractor, dxpr_builder.rl_variant.registrar |
RlIntegration\Service\* |
Varianti di test A/B; inattivo senza il modulo RL |
dxpr_builder.rl_sort.extractor, dxpr_builder.rl_sort.registrar |
RlIntegration\Service\* |
Esperimenti di ordinamento intelligente; inattivo senza il modulo RL |
logger.channel.dxpr_builder |
canale di log del core | Canale di log dxpr_builder |
DxprBuilderServiceInterface
Implementata da dxpr_builder.service. I metodi che più
probabilmente chiamerai:
insertBaseTokens($content): sostituisce l’URL base di questo sito, la directory dei file e il percorso del modulo con token. L’editor memorizza i contenuti in questa forma.replaceBaseTokens(&$content): void: espande i token di nuovo in URL per l’ambiente corrente.stripHtmlElementPersists(string $markup): string: rimuove gli attributidata-az-persist. Eseguilo su markup scritto fuori dall’editor; l’editor li ricostruisce al caricamento.getCmsElementNames(): i blocchi e le visualizzazioni di viste offerti come elementi, in cache.getIconSets(): array: il registro dei set di icone dopo rilevamento YAML ehook_dxpr_builder_icon_sets_alter().
$markup = \Drupal::service('dxpr_builder.service')->insertBaseTokens($html);
DxprBuilderLicenseServiceInterface
Implementata da dxpr_builder.license_service.
isBillableUser(?AccountInterface $account = NULL): bool: TRUE per l’user 1 e per gli account attivi conedit with dxpr buildernon esclusi dalla modifica con DXPR Builder.getLicenseInfo(): stato della licenza dal server delle licenze DXPR, in cache. Senza chiave prodotto restituisce il piano gratuito: un utente e 100 elementi di contenuto.syncAllUsersWithCentralStorage(string $operation, string $json_web_token = ''): void: invia gli editor di questo sito a DXPR.$operationè una delle costanti di interfacciaDXPR_USER_SYNC_OPERATION(sync),DXPR_USER_ADD_OPERATION(add) oDXPR_USER_REMOVE_OPERATION(remove).
DxprBuilderKeyService
getApiKey(): ?string: la chiave prodotto. Quando l’impostazioneapi_key_storageèkey, legge l’entità Key indicata inkey_provider; altrimenti leggejson_web_token.setApiKey(string $key_value, string $storage_type = 'config', ?string $selected_key_id = NULL): void: memorizza la chiave in config o in un’entità Key.
DxprBuilderJWTDecoder
decodeJwt(string $access_token): restituisce i claimsub,scopeedxpr_tierdella chiave prodotto, ciascuno NULL quando il token non si legge. Il risultato è in cache per token.
Punti di estensione JavaScript
Gli script dell’editor condividono due array su window.dxprBuilder. Inserisci
i tuoi oggetti tra lo script che crea l’array e dxpr_builder.js, che li legge
una volta all’esecuzione.
| Array | Creato da | Cosa ne fa dxpr_builder.js con esso |
|---|---|---|
dxpr_param_types |
dxpr_param_types.js |
Registra ogni oggetto come tipo di parametro con register_param_type() |
dxpr_elements |
dxpr_elements.js |
create_dxpr_elements() registra ogni definizione con register_animated_element() e ne converte i params con make_param_type() |
I tipi di parametro registrati dal modulo sono boxmodel, checkbox,
checkboxes, colorpicker, datetime, dropdown, dxb_slider,
html, icon, image, images, link, links, numericfield,
row_layout, saved_datetime, social_links, textarea,
textfield e video. Un parametro con un type sconosciuto è renderizzato
come semplice input di testo.
Elementi personalizzati mostra una definizione completa di elemento e come caricarla al momento giusto.
Route dell’editor
Legenda accessi: billable è il controllo _dxpr_builder_billable_user
(user 1, o un account attivo con edit with dxpr builder
non escluso); CSRF è _csrf_token.
| Percorso | Nome route | Metodi | Accesso |
|---|---|---|---|
/dxpr_builder/ajax |
dxpr_builder.ajax_callback |
qualsiasi | 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 |
qualsiasi | billable |
/dxpr_builder/ajax/help_link_validator |
dxpr_builder.ajax_help_link_validator |
qualsiasi | billable |
/dxpr_builder/media-library |
dxpr_builder.media_library |
qualsiasi | 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 |
Route admin
Tutte le pagine admin stanno in DXPR Studio > DXPR Builder. La colonna delle schede mostra l’etichetta nel menu admin.
| Percorso | Scheda | Permesso |
|---|---|---|
/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 |