9. drupal teme napredni kurs stampa - webdizajn.ict.edu.rs · •• template.php, fajl sadrži...
TRANSCRIPT
![Page 1: 9. drupal teme napredni kurs stampa - webdizajn.ict.edu.rs · •• template.php, fajl sadrži ftemplate.php, fajl sadrži f--je sa neophodnom logje sa neophodnom logikom ikom za](https://reader030.vdocuments.pub/reader030/viewer/2022040708/5e0c34a4596d26696c531542/html5/thumbnails/1.jpg)
VViisokasoka škola škola strukovnih studija strukovnih studija za za informacione i komunikacione tehnologijeinformacione i komunikacione tehnologije
BeogradBeograd
WEB WEB TEHNOLOGIJETEHNOLOGIJEWEB WEB TEHNOLOGIJETEHNOLOGIJE
Drupal teme (Themes) Drupal teme (Themes)
Školska 20Školska 201122//1133. . dr Nenad Kojić, dipl. inž.dr Nenad Kojić, dipl. inž.MilenaMilena VesiVesić, spec. ć, spec. iinž.nž.
Marko M. Marko M. SpasojeviSpasojević, spec. inž.ć, spec. inž.
![Page 2: 9. drupal teme napredni kurs stampa - webdizajn.ict.edu.rs · •• template.php, fajl sadrži ftemplate.php, fajl sadrži f--je sa neophodnom logje sa neophodnom logikom ikom za](https://reader030.vdocuments.pub/reader030/viewer/2022040708/5e0c34a4596d26696c531542/html5/thumbnails/2.jpg)
ŠŠta je tema (Theme)?ta je tema (Theme)?
�� Predstavlja skup fajlova koji generiPredstavlja skup fajlova koji generišu prikazšu prikaz�� Poseban sistem nezavisan od modula Poseban sistem nezavisan od modula �� Fajlovi su kombinacija PHP,HTML,CSSFajlovi su kombinacija PHP,HTML,CSS--a i JSa i JS--aa�� Od PHP samo print tj. echoOd PHP samo print tj. echo
Definiše strukturu stranice/aDefiniše strukturu stranice/a�� Definiše strukturu stranice/aDefiniše strukturu stranice/a�� Poseduje podešavanjaPoseduje podešavanja�� Veliki broj gotovih tema Veliki broj gotovih tema
http://drupal.org/project/themeshttp://drupal.org/project/themes�� Mogućnost izrade sopstvenih temaMogućnost izrade sopstvenih tema�� Mogućnost “izvoñenja” (varijacije) temaMogućnost “izvoñenja” (varijacije) tema
![Page 3: 9. drupal teme napredni kurs stampa - webdizajn.ict.edu.rs · •• template.php, fajl sadrži ftemplate.php, fajl sadrži f--je sa neophodnom logje sa neophodnom logikom ikom za](https://reader030.vdocuments.pub/reader030/viewer/2022040708/5e0c34a4596d26696c531542/html5/thumbnails/3.jpg)
Instalacija temeInstalacija teme
�� Preuzeti temu sa stranice Preuzeti temu sa stranice http://drupal.org/project/themeshttp://drupal.org/project/themes
�� Raspakovati preuzeti fajl i presnimiti novonastali Raspakovati preuzeti fajl i presnimiti novonastali folder u folder sites/all/themesfolder u folder sites/all/themes
�� Na kreiranom sajtu iz glavnog menija odabrati Na kreiranom sajtu iz glavnog menija odabrati �� Na kreiranom sajtu iz glavnog menija odabrati Na kreiranom sajtu iz glavnog menija odabrati AppearanceAppearance
�� Kliknuti na link Set As Default odgovarajuće temeKliknuti na link Set As Default odgovarajuće teme
![Page 4: 9. drupal teme napredni kurs stampa - webdizajn.ict.edu.rs · •• template.php, fajl sadrži ftemplate.php, fajl sadrži f--je sa neophodnom logje sa neophodnom logikom ikom za](https://reader030.vdocuments.pub/reader030/viewer/2022040708/5e0c34a4596d26696c531542/html5/thumbnails/4.jpg)
FajloviFajlovi
�� Svaka tema se sastoji iz nekoliko fajlovaSvaka tema se sastoji iz nekoliko fajlova•• .info , fajl sa meta podacima vezanim za temu.info , fajl sa meta podacima vezanim za temu•• .tpl.php , template (šablon) fajlovi koji se sastoje od php .tpl.php , template (šablon) fajlovi koji se sastoje od php
i htmli html•• template.php, fajl sadrži ftemplate.php, fajl sadrži f--je sa neophodnom logikom je sa neophodnom logikom
za obradu i prikaz podatakaza obradu i prikaz podatakaza obradu i prikaz podatakaza obradu i prikaz podataka•• Opcioni folderi i fajlovi za CSS,JS i slike Opcioni folderi i fajlovi za CSS,JS i slike
�� Kao i kod modula ime teme mora biti jedinstvenoKao i kod modula ime teme mora biti jedinstveno�� Ime igra veoma bitnu uloguIme igra veoma bitnu ulogu
![Page 5: 9. drupal teme napredni kurs stampa - webdizajn.ict.edu.rs · •• template.php, fajl sadrži ftemplate.php, fajl sadrži f--je sa neophodnom logje sa neophodnom logikom ikom za](https://reader030.vdocuments.pub/reader030/viewer/2022040708/5e0c34a4596d26696c531542/html5/thumbnails/5.jpg)
.info fajl.info fajl�� Sastoji se iz statičkog teksta u formi ključ=> Sastoji se iz statičkog teksta u formi ključ=>
vrednostvrednostname = Naziv temedescription = opis temeversion = verzijacore = 6.xscreenshot = screenshot.png stylesheets[all][] = style.cssstylesheets[all][] = style.cssstylesheets[print][] = print.cssscripts[] = myscript.jsregions[header] = Headerregions[highlighted] = Highlightedregions[content] = Contentregions[sidebar_first] = Left sidebarregions[sidebar_second] = Right sidebarregions[footer] = Footerfeatures[] = logofeatures[] = name
![Page 6: 9. drupal teme napredni kurs stampa - webdizajn.ict.edu.rs · •• template.php, fajl sadrži ftemplate.php, fajl sadrži f--je sa neophodnom logje sa neophodnom logikom ikom za](https://reader030.vdocuments.pub/reader030/viewer/2022040708/5e0c34a4596d26696c531542/html5/thumbnails/6.jpg)
.info fajl podrazumevane .info fajl podrazumevane vrednostivrednosti
regions[regions[sidebar_firstsidebar_first]] = Left sidebar= Left sidebarregions[regions[sidebar_secondsidebar_second] = Right sidebar] = Right sidebarregions[content] = Contentregions[content] = Contentregions[header] = Headerregions[header] = Headerregions[footer] = Footerregions[footer] = Footerregions[footer] = Footerregions[footer] = Footerregions[highlighted] = Highlightedregions[highlighted] = Highlightedregions[help] = Helpregions[help] = Helpregions[regions[page_toppage_top] = Page Top] = Page Topregions[regions[page_bottompage_bottom] = Page Bottom] = Page Bottom
![Page 7: 9. drupal teme napredni kurs stampa - webdizajn.ict.edu.rs · •• template.php, fajl sadrži ftemplate.php, fajl sadrži f--je sa neophodnom logje sa neophodnom logikom ikom za](https://reader030.vdocuments.pub/reader030/viewer/2022040708/5e0c34a4596d26696c531542/html5/thumbnails/7.jpg)
.info fajl podrazumevane .info fajl podrazumevane vrednostivrednosti
features[] = logofeatures[] = logofeatures[] = namefeatures[] = namefeatures[] = sloganfeatures[] = sloganfeatures[] = features[] = node_user_picturenode_user_picturefeatures[] = features[] = comment_user_picturecomment_user_picturefeatures[] = features[] = comment_user_picturecomment_user_picturefeatures[] = features[] = comment_user_verificationcomment_user_verificationfeatures[] = features[] = faviconfaviconfeatures[] = features[] = main_menumain_menufeatures[] = features[] = secondary_menusecondary_menu
![Page 8: 9. drupal teme napredni kurs stampa - webdizajn.ict.edu.rs · •• template.php, fajl sadrži ftemplate.php, fajl sadrži f--je sa neophodnom logje sa neophodnom logikom ikom za](https://reader030.vdocuments.pub/reader030/viewer/2022040708/5e0c34a4596d26696c531542/html5/thumbnails/8.jpg)
.info fajl podrazumevane .info fajl podrazumevane vrednostivrednosti
settings[settings[toggle_logotoggle_logo] = 1] = 1settings[settings[toggle_nametoggle_name] = 1] = 1settings[settings[toggle_slogantoggle_slogan] = 1] = 1settings[settings[toggle_node_user_picturetoggle_node_user_picture] = 1] = 1settings[settings[toggle_comment_user_picturetoggle_comment_user_picture] = 1] = 1settings[settings[toggle_comment_user_picturetoggle_comment_user_picture] = 1] = 1settings[settings[toggle_comment_user_verificationtoggle_comment_user_verification] = 1] = 1settings[settings[toggle_favicontoggle_favicon] = 1] = 1settings[settings[toggle_main_menutoggle_main_menu] = 1] = 1settings[settings[toggle_secondary_menutoggle_secondary_menu] = 1] = 1
![Page 9: 9. drupal teme napredni kurs stampa - webdizajn.ict.edu.rs · •• template.php, fajl sadrži ftemplate.php, fajl sadrži f--je sa neophodnom logje sa neophodnom logikom ikom za](https://reader030.vdocuments.pub/reader030/viewer/2022040708/5e0c34a4596d26696c531542/html5/thumbnails/9.jpg)
.info fajl podrazumevane .info fajl podrazumevane vrednostivrednosti
screenshot = screenshot.pngscreenshot = screenshot.pngstylesheetsstylesheets[all][] = style.css[all][] = style.cssscripts[] = script.jsscripts[] = script.js
![Page 10: 9. drupal teme napredni kurs stampa - webdizajn.ict.edu.rs · •• template.php, fajl sadrži ftemplate.php, fajl sadrži f--je sa neophodnom logje sa neophodnom logikom ikom za](https://reader030.vdocuments.pub/reader030/viewer/2022040708/5e0c34a4596d26696c531542/html5/thumbnails/10.jpg)
Struktura temeStruktura teme
![Page 11: 9. drupal teme napredni kurs stampa - webdizajn.ict.edu.rs · •• template.php, fajl sadrži ftemplate.php, fajl sadrži f--je sa neophodnom logje sa neophodnom logikom ikom za](https://reader030.vdocuments.pub/reader030/viewer/2022040708/5e0c34a4596d26696c531542/html5/thumbnails/11.jpg)
Tema, regionsTema, regions�� PHP niz regiona (celina) na staniciPHP niz regiona (celina) na stanici
regions[content] = Contentregions[content] = Content
$content (page.tpl.php)$content (page.tpl.php)$content (page.tpl.php)$content (page.tpl.php)
//podatak u region//podatak u regiondrupal_set_contentdrupal_set_content('right', $('right', $texttext););
![Page 12: 9. drupal teme napredni kurs stampa - webdizajn.ict.edu.rs · •• template.php, fajl sadrži ftemplate.php, fajl sadrži f--je sa neophodnom logje sa neophodnom logikom ikom za](https://reader030.vdocuments.pub/reader030/viewer/2022040708/5e0c34a4596d26696c531542/html5/thumbnails/12.jpg)
.tpl.php fajl.tpl.php fajl
�� Predstavlja fajl koji genereriše html Predstavlja fajl koji genereriše html prikazprikaz
�� Sastoji se iz htmlSastoji se iz html--a i phpa i php--aaOd phpOd php--a najčešće samoa najčešće samo�� Od phpOd php--a najčešće samoa najčešće samoprint $promenljivaprint $promenljiva
�� Modul može da ima sopstveni Modul može da ima sopstveni .tpl.php fajl.tpl.php fajl
![Page 13: 9. drupal teme napredni kurs stampa - webdizajn.ict.edu.rs · •• template.php, fajl sadrži ftemplate.php, fajl sadrži f--je sa neophodnom logje sa neophodnom logikom ikom za](https://reader030.vdocuments.pub/reader030/viewer/2022040708/5e0c34a4596d26696c531542/html5/thumbnails/13.jpg)
Struktura .tpl.php fajlovaStruktura .tpl.php fajlova
![Page 14: 9. drupal teme napredni kurs stampa - webdizajn.ict.edu.rs · •• template.php, fajl sadrži ftemplate.php, fajl sadrži f--je sa neophodnom logje sa neophodnom logikom ikom za](https://reader030.vdocuments.pub/reader030/viewer/2022040708/5e0c34a4596d26696c531542/html5/thumbnails/14.jpg)
Izvoñenje temeIzvoñenje teme
�� Mogućnost izrade nove teme na Mogućnost izrade nove teme na osnovu bazne temeosnovu bazne teme
�� Postupak kao da se kreira nova temaPostupak kao da se kreira nova temaIzvedena tema redefiniše Izvedena tema redefiniše �� Izvedena tema redefiniše Izvedena tema redefiniše (“override”) podešavanja bazne teme(“override”) podešavanja bazne teme
�� Izvedena.infoIzvedena.infobase theme = base theme = theme_nametheme_name
![Page 15: 9. drupal teme napredni kurs stampa - webdizajn.ict.edu.rs · •• template.php, fajl sadrži ftemplate.php, fajl sadrži f--je sa neophodnom logje sa neophodnom logikom ikom za](https://reader030.vdocuments.pub/reader030/viewer/2022040708/5e0c34a4596d26696c531542/html5/thumbnails/15.jpg)
Generisanje sadržajaGenerisanje sadržajaModul
template.php
theme_funkcija()
hook_theme
mojaTema_preprocess_fun()
.tpl.php
html.tpl.php
$promenljiva
mojaTema_preprocess_fun()
![Page 16: 9. drupal teme napredni kurs stampa - webdizajn.ict.edu.rs · •• template.php, fajl sadrži ftemplate.php, fajl sadrži f--je sa neophodnom logje sa neophodnom logikom ikom za](https://reader030.vdocuments.pub/reader030/viewer/2022040708/5e0c34a4596d26696c531542/html5/thumbnails/16.jpg)
![Page 17: 9. drupal teme napredni kurs stampa - webdizajn.ict.edu.rs · •• template.php, fajl sadrži ftemplate.php, fajl sadrži f--je sa neophodnom logje sa neophodnom logikom ikom za](https://reader030.vdocuments.pub/reader030/viewer/2022040708/5e0c34a4596d26696c531542/html5/thumbnails/17.jpg)
Theme overridingTheme overriding
�� Modul generiše odreñeni izlazModul generiše odreñeni izlaz�� Tema može da izmeni generisani Tema može da izmeni generisani
izlaz pomoću overridingizlaz pomoću overriding--a tj. a tj. redefinisanjaredefinisanjaredefinisanjaredefinisanja
�� Svaki izlaz prolazi kroz razne faze u Svaki izlaz prolazi kroz razne faze u kojima se može izmenitikojima se može izmeniti
![Page 18: 9. drupal teme napredni kurs stampa - webdizajn.ict.edu.rs · •• template.php, fajl sadrži ftemplate.php, fajl sadrži f--je sa neophodnom logje sa neophodnom logikom ikom za](https://reader030.vdocuments.pub/reader030/viewer/2022040708/5e0c34a4596d26696c531542/html5/thumbnails/18.jpg)
Theme overridingTheme overriding
![Page 19: 9. drupal teme napredni kurs stampa - webdizajn.ict.edu.rs · •• template.php, fajl sadrži ftemplate.php, fajl sadrži f--je sa neophodnom logje sa neophodnom logikom ikom za](https://reader030.vdocuments.pub/reader030/viewer/2022040708/5e0c34a4596d26696c531542/html5/thumbnails/19.jpg)
![Page 20: 9. drupal teme napredni kurs stampa - webdizajn.ict.edu.rs · •• template.php, fajl sadrži ftemplate.php, fajl sadrži f--je sa neophodnom logje sa neophodnom logikom ikom za](https://reader030.vdocuments.pub/reader030/viewer/2022040708/5e0c34a4596d26696c531542/html5/thumbnails/20.jpg)
Tipovi overrideTipovi override--aa
�� Override preko funkcijaOverride preko funkcijatheme_menu_local_tasks theme_menu_local_tasks (.module)(.module)
mojatema_menu_local_tasks mojatema_menu_local_tasks (template.php)(template.php)mojatema_menu_local_tasks mojatema_menu_local_tasks (template.php)(template.php)
�� Override preko .tpl.phpOverride preko .tpl.phpPresnimiti odgovarajući .tpl.php fajl Presnimiti odgovarajući .tpl.php fajl modula u temumodula u temu
![Page 21: 9. drupal teme napredni kurs stampa - webdizajn.ict.edu.rs · •• template.php, fajl sadrži ftemplate.php, fajl sadrži f--je sa neophodnom logje sa neophodnom logikom ikom za](https://reader030.vdocuments.pub/reader030/viewer/2022040708/5e0c34a4596d26696c531542/html5/thumbnails/21.jpg)
Override i generisanje novih Override i generisanje novih tpl.php fajlovatpl.php fajlova
�� blockblock----modulemodule----delta.tpl.phpdelta.tpl.php�� blockblock----module.tpl.phpmodule.tpl.php�� blockblock----region.tpl.phpregion.tpl.php
�� fieldfield----fieldfield--namename----contentcontent--type.tpl.phptype.tpl.php�� fieldfield----contentcontent--type.tpl.phptype.tpl.php
fieldfield----fieldfield--name.tpl.phpname.tpl.php�� fieldfield----fieldfield--name.tpl.phpname.tpl.php�� fieldfield----fieldfield--type.tpl.phptype.tpl.php
�� nodenode----nodeid.tpl.phpnodeid.tpl.php�� nodenode----type.tpl.phptype.tpl.php�� node.tpl.phpnode.tpl.php
�� pagepage----nodenode----edit.tpl.phpedit.tpl.php�� pagepage----nodenode----1.tpl.php1.tpl.php�� pagepage----node.tpl.phpnode.tpl.php�� pagepage----front.tpl.phpfront.tpl.php�� page.tpl.phppage.tpl.php
![Page 22: 9. drupal teme napredni kurs stampa - webdizajn.ict.edu.rs · •• template.php, fajl sadrži ftemplate.php, fajl sadrži f--je sa neophodnom logje sa neophodnom logikom ikom za](https://reader030.vdocuments.pub/reader030/viewer/2022040708/5e0c34a4596d26696c531542/html5/thumbnails/22.jpg)
Obrada podataka pre .tpl.php Obrada podataka pre .tpl.php fajlafajla
ffunctionunction mytheme_preprocess_menu_linkmytheme_preprocess_menu_link(&$variables) {(&$variables) {// // obradaobrada sadrzajasadrzaja promenljivepromenljive kojakoja je je inicijalizovanainicijalizovana u u modulumodulu$neka_promenljiva=$varibles$neka_promenljiva=$varibles[‘link‘];[‘link‘];
$variables[‘nova_promenljiva‘]=time();$variables[‘nova_promenljiva‘]=time();// promenljiva $nova_promenljiva je dostupna u tpl.php fajlu// promenljiva $nova_promenljiva je dostupna u tpl.php fajlu// promenljiva $nova_promenljiva je dostupna u tpl.php fajlu// promenljiva $nova_promenljiva je dostupna u tpl.php fajlu
} }
![Page 23: 9. drupal teme napredni kurs stampa - webdizajn.ict.edu.rs · •• template.php, fajl sadrži ftemplate.php, fajl sadrži f--je sa neophodnom logje sa neophodnom logikom ikom za](https://reader030.vdocuments.pub/reader030/viewer/2022040708/5e0c34a4596d26696c531542/html5/thumbnails/23.jpg)
VViisokasoka škola škola strukovnih studija strukovnih studija za za informacione i komunikacione tehnologijeinformacione i komunikacione tehnologije
BeogradBeograd
WEB WEB TEHNOLOGIJETEHNOLOGIJEWEB WEB TEHNOLOGIJETEHNOLOGIJE
Drupal teme (Themes) Drupal teme (Themes)
Školska 20Školska 201122//1133. . dr Nenad Kojić, dipl. inž.dr Nenad Kojić, dipl. inž.MilenaMilena VesiVesić, spec. ć, spec. iinž.nž.
Marko M. Marko M. SpasojeviSpasojević, spec. inž.ć, spec. inž.