مرجع API.
خدمات PHP ونقاط توسعة JavaScript والمسارات التي
يعرّفها DXPR Builder. تأتي معرّفات الخدمات من
dxpr_builder.services.yml، والمسارات من dxpr_builder.routing.yml.
ولتفاصيل الطلب والاستجابة لكل مسار، انظر
نقاط نهاية API.
خدمات PHP
| معرّف الخدمة | الصنف (في 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 |
يعرض عروض Views الموضوعة كعناصر |
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(): الكتل وعروض Views المعروضة كعناصر، مخزّنة مؤقتًا.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 غير معروف يُعرض
كحقل إدخال نص عادي.
العناصر المخصصة تعرض تعريف عنصر كاملًا وكيفية تحميله في اللحظة المناسبة.
مسارات المحرّر
دليل الوصول: مُحاسَب هو الفحص _dxpr_builder_billable_user
(المستخدم 1، أو حساب نشط يملك edit with dxpr builder
وغير مستبعد)؛ وCSRF هو _csrf_token.
| المسار | اسم المسار | الطرق | الوصول |
|---|---|---|---|
/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 |
مسارات الإدارة
تقع كل صفحات الإدارة تحت 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 |
الإعدادات العامة | administer dxpr builder configuration |
/admin/dxpr_studio/dxpr_builder/ai_settings |
الذكاء الاصطناعي | administer dxpr builder configuration |
/admin/dxpr_studio/dxpr_builder/content |
عناصر المحتوى | administer dxpr builder configuration |
/admin/dxpr_studio/dxpr_builder/migration-status |
عمليات الترحيل (ضمن عناصر المحتوى) | administer dxpr builder configuration |
/admin/dxpr_studio/dxpr_builder/page_template |
قوالب الصفحات | administer site configuration |
/admin/dxpr_studio/dxpr_builder/user_licenses |
تراخيص المستخدمين | administer dxpr builder configuration |
/admin/dxpr_studio/dxpr_builder/profile |
ملفات تعريف المستخدم | administer dxpr_builder_profile |
/admin/dxpr_studio/dxpr_builder/user_templates |
قوالب المستخدم | administer site configuration |