الوحدات الفرعية.

Learn DXPR BuilderExtendArchitectuur en API’s

يحمل مجلد modules/ ثلاث وحدات فرعية. اثنتان حزمتا إعدادات صغيرتان: نوع محتوى ونوع كتلة موصولان بالمنشئ. والثالثة منتقي الوسائط القديم القائم على متصفح الكيانات الذي يسبق دعم مكتبة الوسائط. توثّق هذه الصفحة ما يثبّته كل منها وما يعتمد عليه وكيفية تفعيله أو إيقافه.

الوحدة الاسم الآلي توفّر الحالة
صفحة السحب والإفلات في DXPR Builder dxpr_builder_page drag_and_drop_page نوع المحتوى مدعومة
نوع كتلة DXPR Builder dxpr_builder_block drag_and_drop_block نوع الكتلة مدعومة
وسائط DXPR Builder dxpr_builder_media منتقي الوسائط القائم على متصفح الكيانات قديمة؛ مخفية عن صفحة التمديد

لا شيء منها مطلوب. يعمل المنشئ على أي حقل نصوص يستخدم عرضُه المُنسِّق DXPR Builder (dxpr_builder_text)؛ انظر التثبيت على أنواع المحتوى الحالية.

صفحة السحب والإفلات في DXPR Builder

modules/dxpr_builder_page تثبّت نوع المحتوى صفحة السحب والإفلات (node.type.drag_and_drop_page) من config/optional/:

  • حقل body، مع عرض افتراضي يستخدم المُنسِّق dxpr_builder_text وعرض نموذج مجمّع مع Field Group.
  • ثلاثة حقول لقالب DXPR: field_dth_hide_regions و field_dth_main_content_width وfield_dth_page_layout. وهي لا تُثبَّت إلا عند وجود مخازن حقولها، التي توفّرها وحدة DXPR Theme Helper.

الاعتماديات من dxpr_builder_page.info.yml: field_group و text وnode وdxpr_builder. فيُنشئ hook_install() مخزن الحقل body عندما لا يوجد. وعندما يتعذّر تثبيت الإعدادات الاختيارية، كما في الملف الشخصي Minimal، تُثبَّت النوع وحقل المتن والعروض نفسها، دون جزئي menu_ui وpath. ويُعلِّم dxpr_builder_page_update_8001() الإعدادات المثبّتة كمفروضة من الوحدة.

src/DXPRBuilderPageUninstallValidator.php (المسجّل في dxpr_builder_page.services.yml) يمنع إلغاء التثبيت بينما توجد أي عقدة drag_and_drop_page. احذفوا تلك العقد أو غيّروا نوعها أولًا.

  1. فعّلوا الوحدة:

    drush en dxpr_builder_page -y
    
  2. أنشئوا صفحة في /node/add/drag_and_drop_page. فيبدأ المنشئ على حقل المتن عندما يشاهد محرّر الصفحة.

إذا فشل التفعيل مع "unmet dependencies"، فعّلوا Field Group وتحققوا من وجود مخزن حقل body؛ انظر مشاكل بعد التحديث.

نوع كتلة DXPR Builder

modules/dxpr_builder_block تثبّت نوع الكتلة كتلة السحب والإفلات (block_content.type.drag_and_drop_block) من config/optional/، مع حقل body والمُنسِّق dxpr_builder_text على العرض الافتراضي وعرض النموذج. ويحمل النوع إنشاء مراجعة جديدة مفعّلًا، ويفعّله dxpr_builder_block_update_8002() لعمليات التثبيت الأقدم، فيُنشئ كل حفظ في المنشئ على كتلة مراجعة (انظر التجهيز المرحلي للمحتوى).

الاعتماديات: text وnode وdxpr_builder.

  1. فعّلوا الوحدة:

    drush en dxpr_builder_block -y
    
  2. أنشئوا كتلة في /block/add/drag_and_drop_block.

  3. ضعوها في منطقة. فيحرّرها المحرّرون في مكانها على أي صفحة تظهر فيها.

dxpr_builder_entity_type_alter() تستبدل صنف الوحدة Drupal\dxpr_builder\Entity\BlockContent، كما تفعل لـ Node. فيحفظ الصنف سلسلة فارغة في حقول المنشئ الفارغة، ليجد المحرّر دائمًا ما يرتبط به. ولذلك يعمل نوع الكتلة الذي تنشئونه بأنفسكم بالطريقة نفسها متى استخدم عرضُه المُنسِّق DXPR Builder.

وسائط DXPR Builder

modules/dxpr_builder_media هي منتقي الصور القائم على متصفح الكيانات الذي استخدمته الوحدة قبل دعم مكتبة الوسائط الأساسية. وهي موسومة hidden: true في .info.yml الخاص بها، فلا تظهر في التمديد؛ وما زال بإمكانكم تفعيلها مع Drush. وهي تثبّت:

  • entity_browser.browser.dxpr_builder_media_modal: متصفح مشروط مسمّى متصفح صور DXPR Builder مع عنصرين، تبويب مكتبة الوسائط مدعوم بطريقة العرض dxpr_builder_media وتبويب رفع صورة جديدة الذي ينشئ كيان وسائط image عبر نموذج الكيان المضمّن.
  • views.view.dxpr_builder_media: شبكة الوسائط للعنصر الأول.
  • image.style.dxpr_builder_media_thumbnail: نمط تحجيم وقص 300 في 300 بكسل للشبكة.
  • المكتبات view وclaro_style وgin_style (dxpr_builder_media.libraries.yml). فترفق الوحدة ورقة أنماط Gin بطريقة العرض عندما يكون القالب النشط Gin أو مبنيًا عليه، وورقة أنماط Claro في غير ذلك.

الاعتماديات: inline_entity_form وentity_browser و entity_browser_entity_form وmedia وmedia_library وviews. وعند التثبيت تضبط الوحدة media_browser في dxpr_builder.settings على dxpr_builder_media_modal؛ وعند إلغاء التثبيت تضبطها على سلسلة فارغة (رفع ملف أساسي) وتحذف نمط الصورة.

المتصفح الموصى به هو مكتبة الوسائط الأساسية، التي لا تحتاج وحدة فرعية:

  1. ألغوا تثبيت الوحدة القديمة إذا كانت مفعّلة:

    drush pm:uninstall dxpr_builder_media -y
    
  2. اذهبوا إلى DXPR Studio > DXPR Builder > الإعدادات العامة (/admin/dxpr_studio/dxpr_builder/settings) وافتحوا الوسائط.

  3. اضبطوا نوع المتصفح على مكتبة الوسائط وانقروا حفظ الإعدادات. فقد أعاده إلغاء التثبيت إلى رفع ملف أساسي.

أبقوا الوحدة الفرعية فقط على موقع يعتمد على متصفح كيانات يعيد معرّفات الملفات؛ انظر الصور لا تُرفَع أو تختفي للأخطاء التي ينتجها متصفح غير متوافق. وتحمل الوحدة اختبار PHPUnit الوحيد في المستودع، tests/src/FunctionalJavascript/MediaEntityBrowserTest.php؛ انظر الاختبار.

تفعيل عدة وحدات معًا

drush en dxpr_builder_page dxpr_builder_block -y

كل وحدة فرعية مستقلة عن الأخريات.

ما الخطوة التالية؟