Pronalaženje šablonskih fajlova sa debagovanjem
Da biste saznali koji šablon generiše markup za određeni element, možete koristiti ugrađenu Twig opciju debug. Ovaj parametar prikazaće HTML komentare zajedno sa prikazanim izlazom, koji uključuje korišćene tematske hookove, predložena imena fajlova šablona, kao i označava tačan Twig fajl koji se koristi za renderovanje određenog dela vašeg markupa.
Uključite Twig debagovanje u fajlu sites/default/services.yml tako što ćete postaviti debug:true u sekciji twig.config (isključite ga u produkcionom okruženju). Ako koristite Drupal 8 za multisajtove, trebalo bi da izmenite fajl services.yml u direktorijumu sites/currentsite za konkretan sajt koji pravite. Ako services.yml još ne postoji, kopirajte fajl default.services.yml iz direktorijuma sites/default i preimenujte ga u services.yml. Detaljna uputstva o Twig debagovanju pogledajte u odeljku „Debagovanje kompajliranih Twig šablona“.
Nakon čišćenja keša, proverite izvor stranice; videćete kod sličan sledećem:
<!-- THEME DEBUG --> <!-- THEME HOOK: 'node' --> <!-- FILE NAME SUGGESTIONS: * node--view--frontpage--page-1.html.twig * node--view--frontpage.html.twig * node--1--teaser.html.twig * node--1.html.twig * node--article--teaser.html.twig * node--article.html.twig * node--teaser.html.twig x node.html.twig --> <!-- BEGIN OUTPUT from 'core/themes/classy/templates/content/node.html.twig' --> <article data-history-node-id="1" data-quickedit-entity-id="node/1" role="article" class="contextual-region node node--type-article node--promoted node--view-mode-teaser" about="/node/1" typeof="schema:Article" data-quickedit-entity-instance-id="0"> .... </article> <!-- END OUTPUT from 'core/themes/classy/templates/content/node.html.twig' -->
Nekoliko stvari na koje treba obratiti pažnju u ovom debag izlazu:
- Predlozi za imena fajlova su navedeni redom od najspecifičnijeg do najmanje specifičnog.
- Trenutno korišćeno ime fajla ima znak „x“ pored sebe.
- Pored oznaka BEGIN OUTPUT i END OUTPUT nalazi se potpuna putanja do šablona koji se koristi za prikaz.
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.