مرجع API.

Learn DXPR BuilderExtendArchitectuur en API’s

خدمات 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