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

Articles

20/06/2025, by Ivan

Za razliku od Drupala 7, kreiranje više instanci bloka za postavljanje na vaš sajt je jednostavan zadatak u Drupal 8.

U ovom vodiču naučićete kako programski dodati blok u interfejs rasporeda blokova. Kako dodati (administrativnu) konfiguracionu formu u blok i kako je obraditi. Na kraju, naučićete kako dodati i prikazati podrazumevane vrednosti konfiguracije za formu.

Pre nego što započnete ovaj vodič korak po korak, pripremite skelet modula u skladu sa uputstvom „Pripremite skelet modula“.

20/06/2025, by Ivan

Blokovi u Drupal 8 su instance blok plugina.
Menadžer blokova u Drupalu skenira vaše module tražeći klase koje sadrže @Block anotaciju.

Primer koda ispod koristi @Block anotaciju zajedno sa svojstvima „id“ i „admin_label“ za definisanje prilagođenog bloka.

Kreirajte fajl src/Plugin/Block/HelloBlock.php u strukturi modula koju ste ranije napravili i dodajte sledeći kod.

20/06/2025, by Ivan

Sada recimo da želimo da dodamo mogućnost graditelju sajta da unese deo konfiguracije za svaki primerak našeg prilagođenog bloka. Uvek imajte na umu da se sve konfiguracije za gradnju sajta u Drupal 8 mogu eksportovati sa razvojne lokacije i importovati na produkcioni sajt (poznato kao Upravljanje konfiguracijom). Vi, kao sastavljač modula, takođe možete obezbediti podrazumevanu konfiguraciju za automatsko popunjavanje forme kada kreator sajta kreira novi blok.

20/06/2025, by Ivan

Dodajte sledeći metod u klasu HelloBlock. U ovom primeru on se nalazi u fajlu src/Plugin/Block/HelloBlock.php, ali kako počinjete da razmišljate u više OOP režimu, gde se fizički nalazi u strukturi fajlova je manje važno nego u prostoru imena. Ako ste vrlo pametan OO programer, držite ove dve stvari veoma usklađene. Ali za svaki slučaj, ovo je zapravo prostor imena, veoma sličan imenu fascikle modula i imenu mašine za našu prethodnu diskusiju o modulu u ovom poglavlju, što će biti važno kasnije kada budete želeli programski da komunicirate sa kodom vašeg modula.

20/06/2025, by Ivan

Da bismo koristili konfiguraciju instanci bloka, možemo izmeniti metod build() klase HelloBlock:

  /**
   * {@inheritdoc}
   */  
  public function build() {
    $config = $this->getConfiguration();

    if (!empty($config['hello_block_name'])) {
      $name = $config['hello_block_name'];
    }
    else {
      $name = $this->t('to no one');
    }

    return [
      '#markup' => $this->t('Hello @name!', [
        '@name' => $name,
      ]),
    ];
  }

 

20/06/2025, by Ivan

Ovaj tutorijal je prvobitno objavljen na Web Wash. Međutim, Berdir je pitao mogu li da postavim tutorijal ovde, pa je sada ovde.

Modul za Drupal 7 omogućava skladištenje primera koda/fragmenata u polju. Dolazi sa prilagođenim poljem pod nazivom „Field Snippets“ koje prikazuje tri elementa forme: opis, izvorni kod i režim isticanja sintakse (koji programski jezik).

Ali sada je vreme da se modul ažurira za Drupal 8.

20/06/2025, by Ivan

Tipovi polja definišu svojstva i ponašanje polja. Tipovi polja definišu se kao plugini, zato se preporučuje da proučite Plugin API pre nego što počnete sa pisanjem novog tipa polja.

Da biste napravili tip polja u Drupalu 8, potreban vam je klasa sa anotacijom FieldType.

Lokacija klase tipa polja treba da bude u MODULE_NAME/src/Plugin/Field/FieldType
/modules/foo/src/Plugin/Field/FieldType/BazItem.php