Referência de API.
Os serviços PHP, pontos de extensão JavaScript e rotas que o
DXPR Builder define. Os identificadores de serviço vêm de
dxpr_builder.services.yml, as rotas de dxpr_builder.routing.yml.
Para detalhes de pedido e resposta de cada rota, consulte
Endpoints de API.
Serviços PHP
| Service ID | Class (in src/) |
Purpose |
|---|---|---|
dxpr_builder.service |
Service\DxprBuilderService |
Prepara conteúdo do construtor para saída, trata tokens de caminho, constrói o registo de conjuntos de ícones |
dxpr_builder.license_service |
Service\DxprBuilderLicenseService |
Estado da licença, utilizadores faturáveis, sincronização de editores com a DXPR |
dxpr_builder.key_service |
Service\DxprBuilderKeyService |
Lê e guarda a chave de produto |
dxpr_builder.jwt_decoder |
Service\DxprBuilderJWTDecoder |
Descodifica o conteúdo da chave de produto |
dxpr_builder.user_settings |
Service\UserSettings |
As definições de editor próprias de cada editor, guardadas em dados de utilizador |
dxpr_builder.content_lock |
Service\ContentLock |
Regista que utilizador está a editar uma revisão de entidade |
dxpr_builder.content_migration |
Service\ContentMigrationService |
Corre migrações de conteúdo; recolhe serviços etiquetados com dxpr_builder.content_migration |
dxpr_builder.profile_handler |
Service\Handler\ProfileHandler |
Transforma um perfil em definições de editor |
dxpr_builder.handler.block |
Service\Handler\BlockHandler |
Apresenta blocos do Drupal colocados como elementos |
dxpr_builder.handler.view |
Service\Handler\ViewHandler |
Apresenta apresentações de vistas colocadas como elementos |
dxpr_builder.template_image_validator |
Service\TemplateImageValidator |
Valida imagens de pré-visualização de modelos |
dxpr_builder.rl_variant.extractor, dxpr_builder.rl_variant.registrar |
RlIntegration\Service\* |
Variantes de teste A/B; inativo sem o módulo RL |
dxpr_builder.rl_sort.extractor, dxpr_builder.rl_sort.registrar |
RlIntegration\Service\* |
Experiências de ordenação inteligente; inativo sem o módulo RL |
logger.channel.dxpr_builder |
canal de registo do núcleo | Canal de registo dxpr_builder |
DxprBuilderServiceInterface
Implementado por dxpr_builder.service. Os métodos com maior
probabilidade de chamar:
insertBaseTokens($content): substitui o URL base deste site, o diretório de ficheiros e o caminho do módulo por tokens. O editor guarda o conteúdo nesta forma.replaceBaseTokens(&$content): void: expande os tokens de volta em URL para o ambiente atual.stripHtmlElementPersists(string $markup): string: remove os atributosdata-az-persist. Corra-o em marcação escrita fora do editor; o editor reconstrói-os ao carregar.getCmsElementNames(): os blocos e apresentações de vistas oferecidos como elementos, em cache.getIconSets(): array: o registo de conjuntos de ícones após descoberta YAML ehook_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 o utilizador 1 e para contas ativas comedit with dxpr buildernão excluídas da edição do DXPR Builder.getLicenseInfo(): estado da licença do servidor de licenças da DXPR, em cache. Sem chave de produto devolve o plano gratuito: um utilizador e 100 conteúdos.syncAllUsersWithCentralStorage(string $operation, string $json_web_token = ''): void: envia os editores deste site para a DXPR.$operationé uma das constantes de interfaceDXPR_USER_SYNC_OPERATION(sync),DXPR_USER_ADD_OPERATION(add) ouDXPR_USER_REMOVE_OPERATION(remove).
DxprBuilderKeyService
getApiKey(): ?string: a chave de produto. Quando a definiçãoapi_key_storageékey, lê a entidade Key indicada emkey_provider; senão lêjson_web_token.setApiKey(string $key_value, string $storage_type = 'config', ?string $selected_key_id = NULL): void: guarda a chave na configuração ou numa entidade Key.
DxprBuilderJWTDecoder
decodeJwt(string $access_token): devolve as afirmaçõessub,scopeedxpr_tierda chave de produto, cada uma NULL quando o token não pode ser lido. O resultado fica em cache por token.
Pontos de extensão JavaScript
Os scripts do editor partilham dois arrays em window.dxprBuilder. Empurre
os objetos próprios para eles entre o script que cria o
array e dxpr_builder.js, que os lê uma vez ao correr.
| Array | Created by | What dxpr_builder.js does with it |
|---|---|---|
dxpr_param_types |
dxpr_param_types.js |
Regista cada objeto como tipo de parâmetro com register_param_type() |
dxpr_elements |
dxpr_elements.js |
create_dxpr_elements() regista cada definição com register_animated_element() e converte os params com make_param_type() |
Os tipos de parâmetro que o módulo regista são 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. Um parâmetro com type desconhecido apresenta-se
como entrada de texto simples.
Elementos personalizados mostra uma definição de elemento completa e como a carregar no momento certo.
Rotas do editor
Legenda de acesso: billable é a verificação _dxpr_builder_billable_user
(utilizador 1, ou uma conta ativa com edit with dxpr builder
não excluída); CSRF é _csrf_token.
| Path | Route name | Methods | Access |
|---|---|---|---|
/dxpr_builder/ajax |
dxpr_builder.ajax_callback |
any | 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 |
any | billable |
/dxpr_builder/ajax/help_link_validator |
dxpr_builder.ajax_help_link_validator |
any | billable |
/dxpr_builder/media-library |
dxpr_builder.media_library |
any | 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 |
Rotas de administração
Todas as páginas de administração ficam em DXPR Studio > DXPR Builder. A coluna do separador mostra a etiqueta no menu de administração.
| Path | Tab | 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 (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 |