Struktura foldera Drupal 8 tema
Tema je skup fajlova koji definišu nivo prikaza. Takođe možete kreirati jednu ili više „podtema“ ili varijanti teme. Potreban je samo .info.yml fajl, ali većina tema i podtema koristi i druge fajlove. Na ovoj stranici su navedeni fajlovi i folderi koji se nalaze u tipičnoj temi ili podtemi.
Lokacija tema
Teme treba smestiti u folder „themes“ vaše Drupal instalacije. Obratite pažnju da se glavne Drupal teme, poput Bartik i Seven, nalaze u folderu core/themes vaše instalacije.
Preporučuje se da dodate teme budu smeštene u podfolder „contrib“, a vaše sopstvene teme u folder „custom“.
Svaka pojedina tema se nalazi u folderu nazvanom po temi. Na primer, fluffiness. Ime treba da bude mala slova, da počinje slovom i koristi donju crtu (_) umesto razmaka.
(Delimična) struktura vaše Drupal instalacije može izgledati ovako:
|-core | |-modules | |-themes | | |-bartik | | |-seven .. |-modules |-themes | |-contrib | | |-zen | | |-basic | | |-bluemarine | |-custom | | |-fluffiness
Struktura foldera teme
Primer fajlova i foldera u tipičnoj strukturi foldera teme:
|-fluffiness.breakpoints.yml |-fluffiness.info.yml |-fluffiness.libraries.yml |-fluffiness.theme |-config | |-install | | |-fluffiness.settings.yml | |-schema | | |-fluffiness.schema.yml |-css | |-style.css |-js | |-fluffiness.js |-images | |-buttons.png |-logo.svg |-screenshot.png |-templates | |-maintenance-page.html.twig | |-node.html.twig
U nastavku su opisi najčešćih fajlova koje možete naći u temi.
*.info.yml
Tema mora imati .info.yml fajl za definisanje teme. Pored ostalog, .info.yml fajl definiše metapodatke, biblioteke i oblasti blokova. Ovo je jedini obavezni fajl u temi.
*.libraries.yml
Fajl .libraries.yml se koristi za definisanje JavaScript i CSS biblioteka koje tema može da učita.
*.breakpoints.yml
Breakpoint-ovi definišu gde treba da se prilagodljivi dizajn menja u zavisnosti od uređaja. Breakpoint-ovi su definisani u fajlu .breakpoints.yml.
*.theme
.theme fajl je PHP fajl koji sadrži svu uslovnu logiku i predprocesiranje podataka. Takođe može proširiti osnovna podešavanja teme. Kreiranje naprednih podešavanja teme.
CSS/
Preporučuje se da CSS fajlovi budu u podfolderu 'css'. Glavne Drupal 8 teme organizuju CSS fajlove po SMACSS vodiču. Da bi tema učitala CSS fajlove, moraju biti definisani u .libraries.yml fajlu i mogu biti prepisani ili uklonjeni u .info.yml fajlu.
JS/
JavaScript fajlovi specifični za temu smešteni su u folder 'js'. Da bi tema učitala JS fajlove, oni moraju biti definisani u .libraries.yml fajlu.
images/
Preporučuje se da slike budu u podfolderu 'images'.
screenshot.png
Ako se fajl screenshot.png nalazi u folderu teme, koristiće se na stranici „Izgled“. Takođe, možete definisati screenshot u .info.yml fajlu.
logo.svg
Ako se vektorski SVG fajl logotipa vaše teme nalazi u folderu teme, može se koristiti u zaglavlju sajta. Logotipe takođe možete učitati u Izgled > Podešavanja.
templates/
Šabloni obezbeđuju HTML markup i određenu logiku prikaza. Za razliku od Drupal 7, Drupal 8 šabloni (fajlovi *.html.twig) moraju biti u podfolderu 'templates'. Ako pratite određena pravila imenovanja, Drupal će zameniti podrazumevane osnovne šablone sa vašim, što vam omogućava da prepišete podrazumevani markup. Takođe možete organizovati svoje šablone u podfoldere, na primer, sve šablone blokova u templates/blocks i sve šablone prikaza u templates/views.
Primer glavne teme Bartik: struktura foldera
Za primer pogledajte strukturu foldera Bartik, koji se nalazi u core/themes/bartik:
|-bartik.breakpoints.yml |-bartik.info.yml |-bartik.libraries.yml |-bartik.theme |-color | |-color.inc | |-preview.css | |-preview.html | |-preview.js |-config | |-schema | | |-bartik.schema.yml |-css | |-colors.css | |-layout.css | |-maintenance-page.css | |-print.css |-images | |-add.png | |-required.svg | |-tabs-border.png |-logo.svg |-screenshot.png |-templates | |-block--search-form-block.html.twig | |-block--system-branding-block.html.twig | |-block--system-menu-block.html.twig | |-block.html.twig | |-comment.html.twig | |-field--taxonomy-term-reference.html.twig | |-maintenance-page.html.twig | |-node.html.twig | |-page.html.twig | |-status-messages.html.twig
Više informacija
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.