logo

Dodatni tipovi blokova (EBT) - Novo iskustvo rada sa Layout Builder-om❗

Dodatni tipovi blokova (EBT) – stilizovani, prilagodljivi tipovi blokova: slajdšouvi, kartice sa tabovima, kartice, akordeoni i mnogi drugi. Ugrađena podešavanja za pozadinu, DOM Box, javascript dodatke. Iskusite budućnost kreiranja rasporeda već danas.

Demo EBT moduli Preuzmite EBT module

❗Dodatni tipovi pasusa (EPT) – Novo iskustvo rada sa pasusima

Dodatni tipovi pasusa (EPT) – analogni skup modula zasnovan na pasusima.

Demo EPT moduli Preuzmite EPT module

Scroll

Dodati composer.json fajl

20/06/2025, by Ivan

Prilikom razvoja prilagođenih modula postoje različiti scenariji u kojima programer treba da doda fajl composer.json u svoj modul. Neki od tih scenarija zavise od toga da li je prilagođeni modul namenjen za distribuciju zajednici kao projekat na drupal.org.

Ako programer želi da koristi PHP biblioteku sa packagist.org, potrebno je da u svoj projekat doda fajl composer.json.

Ako je modul dostupan kao projekat na drupal.org, ima zavisnosti od drugih modula i želi da testira izmene tih zavisnosti koristeći DrupalCI u toku razvoja, mora imati composer.json koji izražava te zavisnosti modula Drupal (DrupalCI može da prati izmene zavisnosti samo ako su definisane u composer.json, a ne u .info ili .info.yml fajlovima).

Ako programer želi koristiti izražajnija ograničenja dostupna kroz composer.json, kao što su operatorski zahtevi ili tilda (~), to je moguće samo u composer.json fajlu. (Iako Drupal sam po sebi ne koristi ta ograničenja, ona će biti poštovana prilikom izgradnje sajta ako krajnji korisnik koristi Composer.)

Ako modul nema nikakve spoljne zavisnosti, ili su sve zavisnosti isključivo drugi Drupal moduli, composer.json nije obavezan. Ipak, posedovanje composer.json fajla ne utiče negativno na modul.

Bez obzira na to da li postoji composer.json fajl, zavisnosti modula Drupal i dalje treba da budu izražene u .info.yml fajlu da bi Drupal mogao da garantuje da su odgovarajući moduli uključeni.

Definisanje vašeg modula kao PHP paketa

Šira PHP zajednica koristi Composer za upravljanje paketima, isto tako i Drupal. Na primer, Drupal projekat zavisi od paketa „drupal/core“. Tip paketa „drupal/core“ je definisan kao „drupal-core“, pa Composer zna kako da ga tretira. Biblioteka composer/installers definiše nekoliko Drupal tipova paketa:

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

Primer kako projekat mobile_detect koristi composer.json da zavisi od spoljnog projekta 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"
  }
}

Za imenovanje vašeg paketa treba da pratite Drupal Composer naming conventions.

Definisanje zavisnosti u composer.json

Po želji, možete definisati spoljne zavisnosti za svoj modul u composer.json. Drupal kernel neće automatski otkriti ili upravljati tim zavisnostima. Da biste koristili zavisnosti definisane u composer.json projekta, morate koristiti jednu od sledećih strategija održavanja:

Za više informacija o Composer-u kao upravljaču zavisnostima za Drupal, pogledajte poređenje Composer i Drush Make kao upravljača zavisnostima.

Dodavanje zavisnosti od drugih Drupal modula

Podrazumevano, Composer traži samo pakete objavljene na Packagist kada rešava zavisnosti. Većina Drupal modula nije tamo objavljena jer Drupal ima sopstveni repozitorijum. Zbog toga možete dobiti greške poput:

Zahtevani paket drupal/module nije pronađen ni u jednoj verziji; moguće je da postoji greška u imenu paketa.

Možete podesiti Composer da traži Drupal module u repozitorijumu packages.drupal.org pomoću komande:

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

Ova komanda će dodati sledeći odeljak u vaš composer.json fajl:

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

Kompatibilnost sa Drupal 9

Prisutnost composer.json fajla nije obavezna za kompatibilnost sa Drupal 9. Drupal 9 je kompatibilan sa info.yml fajlom. Ako vaš projekat ima composer.json fajl, kompatibilnost sa verzijom drupal/core takođe nije obavezna za Drupal 9. Međutim, ako imate zahteve za verziju drupal/core u sekciji require, oni moraju biti kompatibilni sa 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.