logo

Լրացուցիչ Բլոկների Տեսակներ (EBT) - Դասավորության Կառուցողի նոր փորձառություն❗

Լրացուցիչ Բլոկների Տեսակներ (EBT) - ձևավորված, կարգավորելի բլոկների տեսակներ՝ սլայդշոուներ, ներդիրներ, քարտեր, բացվող ցանկեր և շատ ուրիշներ։ Ներառված կարգավորումներ՝ ֆոնի, DOM տուփի, JavaScript փլագինների համար։ Փորձեք դասավորությունների կառուցման ապագան արդեն այսօր։

EBT մոդուլների ցուցադրական տարբերակներ Ներբեռնել EBT մոդուլները

❗Լրացուցիչ Պարբերությունների Տեսակներ (EPT) - Պարբերությունների նոր փորձառություն

Լրացուցիչ պարբերության տեսակներ (EPT) - անալոգիական պարբերության վրա հիմնված մոդուլների հավաքակազմ։

EPT մոդուլների ցուցադրական տարբերակներ Ներբեռնել EPT մոդուլները

Scroll

Ավելացնել composer.json ֆայլ

20/06/2025, by Ivan

Օգտագործողական մոդուլներ մշակելիս կան մի քանի դեպքեր, երբ ծրագրավորողը պետք է ավելացնի composer.json ֆայլ իր մոդուլի մեջ։ Դրանցից որոշ դեպքեր կախված են նրանից, արդյոք կաստոմ մոդուլը նախատեսված է drupal.org համայնքին որպես նախագիծ փոխանցելու համար։

Եթե մոդուլի մշակողը ցանկանում է օգտագործել packagist.org-ում տեղադրված PHP գրադարան, ապա նա պետք է ավելացնի composer.json ֆայլ իր նախագծում։

Եթե մոդուլը հանդիսանում է drupal.org-ում տարածված մոդուլ, ունի կախվածություններ այլ մոդուլներից և ցանկանում է թեստավորել այդ կախվածությունների փոփոխությունները՝ օգտագործելով DrupalCI որպես զարգացման մաս, ապա պետք է ունենա composer.json, որը արտահայտում է այդ Drupal մոդուլի կախվածությունները (DrupalCI-ն կարող է հայտնաբերել միայն կախվածությունների փոփոխությունները, որոնք կատարվել են composer.json-ում, ոչ թե .info կամ .info.yml ֆայլերում)։

Եթե մոդուլի մշակողը ցանկանում է օգտագործել ավելի հստակ սահմանափակումներ, որոնք տրամադրվում են composer.json-ով, օրինակ՝ դասակարգման օպերատորներ կամ tilde-ներ, դրանք հնարավոր են միայն composer.json-ում։ (Չնայած Drupal-ը չի հետևի այդ սահմանափակումներին, դրանք գործելու են միայն կառուցման ժամանակ, եթե վերջնական օգտատերը օգտագործում է Composer իր կայքը ստեղծելիս)։

Եթե մոդուլը չունի որևէ կախվածություն կամ կախվածություններն ամբողջովին կազմում են այլ Drupal մոդուլներ, ապա composer.json ֆայլի անհրաժեշտություն չկա։ Սակայն composer.json-ի առկայությունը ոչ մի կերպ չի վնասում։

Անկախ նրանից՝ ծրագրավորողն ունի composer.json ֆայլ, մոդուլի Drupal կախվածությունները պետք է արտահայտվեն նաև .info.yml ֆայլերում, որպեսզի Drupal-ը կարողանա ապահովել, որ ճիշտ մոդուլները ակտիվացված են։

Նշեք ձեր մոդուլը որպես PHP փաթեթ

PHP լայն համայնքը օգտագործում է Composer փաթեթների կառավարման համար։ Դա նաև կիրառվում է Drupal-ում։ Օրինակ, Drupal նախագիծը կախված է «drupal/core» փաթեթից։ «drupal/core» փաթեթի տիպը սահմանված է որպես «drupal-core», և Composer-ը գիտի՝ ինչ անել դրա հետ։ composer/installers գրադարանը սահմանում է Drupal-ի մի քանի տիպեր, այդ թվում՝

  • drupal-module
  • drupal-theme
  • drupal-library
  • drupal-profile
  • drupal-drush

Ահա լրիվ օրինակ, թե ինչպես է mobile_detect նախագիծը օգտագործում composer.json-ը՝ կախվածություն ունենալով արտաքին mobiledetect/mobiledetectlib նախագծից․

{
  "name": "drupal/mobile_detect",
  "description": "Mobile_Detect is a lightweight PHP class for detecting mobile devices.",
  "type": "drupal-module",
  "homepage": "https://drupal.org/project/mobile_detect",
  "authors": [
    {
      "name": "Matthew Donadio (mpdonadio)",
      "homepage": "https://www.drupal.org/u/mpdonadio",
      "role": "Maintainer"
    },
    {
      "name": "Darryl Norris (darol100)",
      "email": "admin@darrylnorris.com",
      "homepage": "https://www.drupal.org/u/darol100",
      "role": "Co-maintainer"
    }
  ],
  "support": {
    "issues": "https://drupal.org/project/issues/mobile_detect",
    "irc": "irc://irc.freenode.org/drupal-contribute",
    "source": "https://cgit.drupalcode.org/mobile_detect"
  },
  "license": "GPL-2.0-or-later",
  "minimum-stability": "dev",
  "require": {
    "mobiledetect/mobiledetectlib": "~2.8"
  }
}

Ձեր փաթեթը անվանակոչելու համար պետք է հետևեք Drupal Composer անվանակոչման կանոններին։

Կախվածությունների սահմանում composer.json-ում

Եթե ցանկանաք, կարող եք սահմանել ձեր մոդուլի արտաքին կախվածությունները composer.json-ում։ Drupal-ի միջուկը չի հայտնաբերելու և չի կառավարվելու այդ կախվածությունները ավտոմատ կերպով։ Այս կախվածությունները օգտագործելու համար անհրաժեշտ է կիրառել հետևյալ սպասարկման ռազմավարություններից մեկը՝

Վերոնշյալից բացի, հավելյալ տեղեկությունների համար՝ դիտեք Composer-ի և Drush Make-ի համեմատություն որպես կախվածությունների կառավարիչներ։

Drupal մյուս մոդուլներից կախվածությունների ավելացում

Դեֆոլտով Composer-ն որոնում է միայն այն փաթեթները, որոնք հրապարակված են Packagist կայքում, երբ լուծում է իր կախվածությունները։ Drupal մոդուլների մեծ մասը այնտեղ չի հրապարակվում, քանի որ Drupal-ը ունի իր սեփական ռեպոզիտորիա։ Հենց դրա պատճառով կարող եք ստանալ սխալներ, օրինակ՝

Հայտնաբերված drupal/module փաթեթը չկա, հնարավոր է, որ փաթեթի անվանումում սխալ կա։

Դուք կարող եք կարգավորել Composer-ին փնտրել Drupal մոդուլները packages.drupal.org ռեպոզիտորիայում՝ կատարելով հետևյալ հրամանը՝

$ composer config repositories.drupal composer https://packages.drupal.org/8

Այս հրամանը կավելացնի հետևյալ բաժինը ձեր composer.json ֆայլում՝

  "repositories": {
    "drupal": {
      "type": "composer",
      "url": "https://packages.drupal.org/8"
    }
  }

Համատեղելիություն Drupal 9-ի հետ

composer.json ֆայլի առկայությունը պահանջված չէ Drupal 9-ի համատեղելիության համար։ Drupal 9 համատեղելի է info.yml ֆայլով։ Եթե ձեր նախագծում կա composer.json ֆայլ, drupal/core-ի համատեղելիության պահանջը պարտադիր չէ Drupal 9-ի համատեղելիության համար։ Սակայն եթե ձեր require բաժնում նշված է drupal/core-ի պահանջվող տարբերակը, այն պետք է համատեղելի լինի Drupal 9-ի հետ։

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.