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
19/06/2025, by Ivan

Twig šablonski engine nudi alat za debagovanje.

Drupal 8 implementacija takođe dodaje dodatni alat koji vam omogućava da pronađete šablon koji generiše markup.

Upozorenje: uključivanje Twig debaga može narušiti neke delove sajta, naročito Views. Pogledajte ovaj problem.

Uključivanje debaga

Debag Twig-a uključujete u sites/default/services.yml.

Postavite vrednost promenljive debug na true. I očistite keš.

parameters:
  twig.config:
    debug: true 
  • Ako services.yml ne postoji, kopirajte default.services.yml u services.yml.
  • Ako je Drupal već instaliran, možda ćete morati privremeno promeniti prava pristupa direktorijumu sites/default da bi imao pristup za pisanje.
  • Kako promeniti prava pristupa direktorijumu
  • Nakon što je services.yml kreiran i izmenjen, ponovo promenite dozvole da zaključate direktorijum sites/default.

Provera debaga

Ako koristite Firebug (u Firefox-u), proverite da je opcija „Show Comments“ uključena, ili pregledajte izvor stranice direktno:

twig-debug

Automatsko osvežavanje

Twig šabloni se kompajliraju u PHP klase na disku radi bolje performanse, ali to znači da se vaši šabloni podrazumevano ne osvežavaju nakon promena. Nemojte ovo uključivati u produkciji.

Da biste ručno rekonstruisali šablone, pokrenite drush cr. Da biste uštedeli vreme pri razvoju, uključite automatsko osvežavanje postavljanjem twig.config.auto_reload: true u services.yml (podrazumevano automatsko osvežavanje je uključeno ako je twig.config.debug: true).

Više informacija možete pronaći na https://drupal.org/node/1903374.

Pregled promenljivih

Najbolji način za rad sa pregledom promenljivih je korišćenje Xdebug-a.

Ako koristite druge ne-Xdebug metode navedene ispod, dobićete mnogo rekurzivnih renderovanja koja mogu rezultovati stranicama pune informacija koje nisu korisne.

Najčešće preporučeni pristup je korišćenje PHPStorm i Xdebug, jer je njihova konfiguracija najjednostavnija, mada skoro sve IDE imaju plugin za Xdebug. Ako želite besplatan i lak editor, VSCode editor od Microsofta je open-source opcija sa pluginovima za PHP i Xdebug.

Konfigurisanje Xdebug-a

Konfiguracija Xdebug-a može biti komplikovana, zato pažljivo pročitajte uputstva za plugin vaše IDE i Xdebug dokumentaciju za podešavanje veze. Samo čitanje uputstava i prijava grešaka na internetu neće pomoći ako ciljate pogrešan tip okruženja (npr. ako je vaš Xdebug unutar Vagrant, Virtualbox ili Docker, možda su vam potrebna uputstva za „remote“ konekciju: https://xdebug.org/docs/remote).

Drupal.org pruža vodiče za Xdebug za različite editore koji se nalaze ovde: https://www.drupal.org/docs/develop/development-tools/xdebug-debugger

Kada radite sa Xdebug-om:

Postoje tri načina da postavite breakpoint-e u vašim Twig šablonima da bi vaša IDE prikazala promenljive i druge informacije o PHP okruženju:

  • Korišćenjem nove Twig debug funkcije u PHPStorm-u (blog, dokumentacija). Nema potrebe za Drupal modulima.
  • Korišćenjem modula Devel
{{ devel_breakpoint() }}
  • Korišćenjem modula Twig Xdebug
{{ breakpoint() }}

Ako ne možete instalirati Xdebug ...

... nastavite dalje i srećno, prijatelju moj.

{{ dump() }}
{{ dump(variable_name) }}

Lista dostupnih promenljivih (na gornjem nivou):

{{ dump(_context|keys) }}

Ako imate Devel kint podmodul (instalacija zahteva require-dev preko Composera korišćenjem composer require --dev drupal/devel 1.0-alpha1 i aktivaciju Drush-om preko drush -y en kint), možete dobiti lepo formatiran prikaz promenljivih dostupnih u grani koristeći:

{{ kint() }}

Postoji velika šansa da će kint „zamrznuti“ vaš pregledač ako je renderovanje preveliko. U tom slučaju, sledeći moduli mogu biti bolji za vas:

Možete takođe koristiti Vardumper Twig modul koji donosi Vardumper funkcionalnost u Twig. Tako možete dobiti lepo formatiran prikaz promenljivih dostupnih u Twig-u:

{{ dump() }}
{{ dump(variable_name) }}
{{ vardumper() }}
{{ vardumper(variable_name) }}

... ali imajte u vidu da ako uložite sat ili dva da pokrenete Xdebug, vaš život će biti mnogo lakši jer ćete znati koje promenljive možete koristiti.

Ako koristite pogrešnu paradigmu ...

Ako mnogo programirate u Twig grani, trebalo bi da razmislite da li je zaista potrebno raditi kompleksne operacije na tom nivou. Na primer, možda je bolje da napravite kopiju postojećeg fajla plugina za field formatter u korisničkom modulu (pazeći da koristite istu putanju) i jednostavno izmenite anotaciju (uvodni komentar, tj. ime plugina) i PHP/HTML podešavanja da biste dobili željenu funkcionalnost tamo. Drupal 8 pluginovi su jednostavno zasebni fajlovi koji se nalaze u određenim folderima i lako se sa njima radi.

Dodatne opcije za debagovanje možete pronaći ovde.

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.