---
url: 'https://dxpr.com/ar/hc/documentation/learn-dxpr-builder/development/submodules'
title: 'الوحدات الفرعية | DXPR'
author:
  name: Jurriaan
  url: 'https://dxpr.com/users/jurriaan'
date: '2026-10-24T01:25:21+00:00'
updated: '2026-10-24T09:09:48+00:00'
copyright: 'Copyright DXPR. All rights reserved.'
type: article
summary: |-
  يحمل مجلد modules/ ثلاث وحدات فرعية. اثنتان حزمتا
  إعدادات صغيرتان: نوع محتوى ونوع كتلة موصولان بالمنشئ. والثالثة منتقي الوسائط
  القديم القائم على متصفح الكيانات الذي يسبق دعم مكتبة الوسائط. توثّق هذه الصفحة
  ما يثبّته كل منها وما يعتمد عليه وكيفية تفعيله أو إيقافه.
tags:
  - 'Architectuur en API’s'
image: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
published: true
og:
  site_name: DXPR
  updated_time: '2026-10-24T09:09:48+0000'
  'image:alt': 'DXPR, powered by Drupal: AI-powered Drupal for marketers.'
schema:
  '@context': 'https://schema.org'
  '@graph':
    -
      mainEntity: {  }
    -
      '@type': TechArticle
      headline: 'الوحدات الفرعية'
      description: |-
        يحمل مجلد modules/ ثلاث وحدات فرعية. اثنتان حزمتا
        إعدادات صغيرتان: نوع محتوى ونوع كتلة موصولان بالمنشئ. والثالثة منتقي الوسائط
        القديم القائم على متصفح الكيانات الذي يسبق دعم مكتبة الوسائط. توثّق هذه الصفحة
        ما يثبّته كل منها وما يعتمد عليه وكيفية تفعيله أو إيقافه.
      image:
        '@type': ImageObject
        url: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
        width: '1200'
        height: '630'
      datePublished: '2026-10-24T01:25:21+0000'
      dateModified: '2026-10-24T09:09:48+0000'
      author:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      mainEntityOfPage: 'https://dxpr.com/ar/hc/documentation/learn-dxpr-builder/development/submodules'
      articleSection: 'Architectuur en API’s'
    -
      '@type': WebPage
      '@id': 'https://dxpr.com/ar/hc/documentation/learn-dxpr-builder/development/submodules'
      description: |-
        يحمل مجلد modules/ ثلاث وحدات فرعية. اثنتان حزمتا
        إعدادات صغيرتان: نوع محتوى ونوع كتلة موصولان بالمنشئ. والثالثة منتقي الوسائط
        القديم القائم على متصفح الكيانات الذي يسبق دعم مكتبة الوسائط. توثّق هذه الصفحة
        ما يثبّته كل منها وما يعتمد عليه وكيفية تفعيله أو إيقافه.
      breadcrumb:
        '@type': BreadcrumbList
        itemListElement:
          -
            '@type': ListItem
            position: 1
            name: الرئيسية
            item: 'https://dxpr.com/ar'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
      inLanguage: ar
---
[Help Center](/ar/hc)/[Documentation](/ar/hc/documentation) /[Learn DXPR Builder](/hc/documentation/learn-dxpr-builder) /[Extend](/hc/documentation/learn-dxpr-builder/extend) /[Architectuur en API’s](/hc/documentation/learn-dxpr-builder/extend/architecture) # الوحدات الفرعية.

 Learn DXPR BuilderExtendArchitectuur en API’s

   ## In this guide

 Related guides

- [Content types](/hc/documentation/learn-dxpr-builder/integrations/content-types)
- [ضعوا صورة من مكتبة وسائط موقعكم](/ar/hc/documentation/learn-dxpr-builder/integrations/media-library)

يحمل مجلد `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`)؛ انظر [التثبيت على أنواع المحتوى الحالية](/ar/hc/documentation/learn-dxpr-builder/getting-started/installing-on-existing-content-types).

## صفحة السحب والإفلات في 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. فعّلوا الوحدة:

    ```bash
    drush en dxpr_builder_page -y

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

إذا فشل التفعيل مع "unmet dependencies"، فعّلوا Field Group وتحققوا من وجود مخزن حقل `body`؛ انظر [مشاكل بعد التحديث](/ar/hc/documentation/learn-dxpr-builder/troubleshooting/after-updating).

## نوع كتلة DXPR Builder

`modules/dxpr_builder_block` تثبّت نوع الكتلة **كتلة السحب والإفلات**(`block_content.type.drag_and_drop_block`) من `config/optional/`، مع حقل `body` والمُنسِّق `dxpr_builder_text`على العرض الافتراضي وعرض النموذج. ويحمل النوع **إنشاء مراجعة جديدة** مفعّلًا، ويفعّله `dxpr_builder_block_update_8002()` لعمليات التثبيت الأقدم، فيُنشئ كل حفظ في المنشئ على كتلة مراجعة (انظر [التجهيز المرحلي للمحتوى](/ar/hc/documentation/learn-dxpr-builder/advanced/content-staging)).

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

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

    ```bash
    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. ألغوا تثبيت الوحدة القديمة إذا كانت مفعّلة:

    ```bash
    drush pm:uninstall dxpr_builder_media -y

    ```
2. اذهبوا إلى **DXPR Studio &gt; DXPR Builder &gt; الإعدادات العامة**(`/admin/dxpr_studio/dxpr_builder/settings`) وافتحوا **الوسائط**.
3. اضبطوا **نوع المتصفح** على **مكتبة الوسائط** وانقروا **حفظ الإعدادات**. فقد أعاده إلغاء التثبيت إلى **رفع ملف أساسي**.

أبقوا الوحدة الفرعية فقط على موقع يعتمد على متصفح كيانات يعيد معرّفات الملفات؛ انظر [الصور لا تُرفَع أو تختفي](/ar/hc/documentation/learn-dxpr-builder/troubleshooting/images-and-media)للأخطاء التي ينتجها متصفح غير متوافق. وتحمل الوحدة اختبار PHPUnit الوحيد في المستودع، `tests/src/FunctionalJavascript/MediaEntityBrowserTest.php`؛ انظر [الاختبار](/ar/hc/documentation/learn-dxpr-builder/development/testing).

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

```bash
drush en dxpr_builder_page dxpr_builder_block -y

```

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

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

- [أنواع المحتوى](/hc/documentation/learn-dxpr-builder/integrations/content-types) لاستخدام المنشئ على أنواع المحتوى الخاصة بكم.
- [تكامل مكتبة الوسائط](/ar/hc/documentation/learn-dxpr-builder/integrations/media-library) لمنتقي الصور الموصى به.