You are on page 1of 91

Visoka škola strukovnih studija za

informacione i komunikacione tehnologije


Beograd

WEB TEHNOLOGIJE
Drupal CMS (Content Managment System)

dr Nenad Kojić, dipl. inž.


Marko M. Spasojević, spec. inž.
Šta je CMS?

Sistem za dinamičko upravljanje sadržajem


Web aplikacija pomoću koje možete da upravljate
sadržajem( dodajete, menjate, brišete strane,
menije itd. )
Osnovne osobine CMS-a
Korisnički interfejs za prikaz sadržaja,

Web interfejs za administraciju,

Odvojenost sadržaja i interfejsa

Sadržaj se uglavnom čuva u bazi podataka,

Interfejs se čuva u posebnim fajlovima (najčešće


baziranim na šablonima)
Napredne osobine CMS-a
Sistem šablona za lakše menjanje izgleda i
rasporeda i korisničkog i administratorskog
interfejsa,
Online uređivanje teksta
pomoću WYSIWYG (What You See Is What You
Get) editora
Modularan sistem - sastoji se iz niza manjih
celina od kojih svaka ima svoju funkciju
Upravljanje slikama i fajlovima ostalih formata iz
administratorskog interfejsa
Koji CMS je za moje potrebe?
Potrebne funcionalnosti
Mogućnost dorade i izmene
Podrška
Performanse
Open Source
Podaci:
• http://trends.builtwith.com/cms
Drupal
CMS sistem napisan na jeziku PHP
Podaci se čuvaju u bazi
OpenSource
Tvorac Dries Buytaert 1999, kao
platforma za razmenu poruka
Online od 2001
Sajt: drupal.org
Drupal zajednica (Drupal community)
Drupal, upotreba
Koristi se za izradu web sajtova (aplikacija)
(portala, e-commerce, društvenih mreža itd.)

Modularan

Proširiv framework

Prilagoljiv pomoću implemtacije overriding-a


(definišete svoj kod koji menja ili dopunjuje
funkcionalnost postojećeg)
Drupal, tehnologija
Drupal, pojmovi
Jezgro (Core)
Administrativni interface
Moduli (modules)
Hooks
Theme
Node
Field
Block
Taxonomy (taksonomija)
Drupal, jezgro (Core)
Predstavlja kod koji obezbeđuje osnovnu
funkcionalnost
Kod uključuje osnovne funkcije (upravljanje
korisnicima, postavljanje strana) i nalaze se u
okviru osnovnih modula
Drupal, admin. interface
Predstavlja celinu preko koje se može kontrolisati
ceo sistem
Povezuje sve celine sajta/aplikacije
Drupal, moduli
Drupal je modularni framework

Modul predstavlja skup kodova koji omogućava


prosirenje funkcionalnosti jezgra

Mogućnos isključenja/uključenja

Postoji dosta gotovih modula koji se mogu


preuzeti sa http://drupal.org/project/modules

Pravila za pisanje koda jasno su definisana


Drupal, moduli-informacije

Osnovne informacije o jedom modulu na stranici


http://drupal.org/project/modules
Drupal, moduli (nastavak)
Drupal, hooks
Hook je php funkcija koja se “kači” tj. izvršava u
određenom trenutku od strane jezgra
Osnovni način komunikacije jezgra i modula je
preko hook-a
Funkcija ima jasno definisan potpis
hook_ime_akcije()
Primeri hook-a:
admin_menu(), comment_user_login(),
locale_user_login()
Umesto hook koristi se ime modula
Ime akcije je ono što dolazi posle hook_
Drupal, hook (nastavak)
Funkcije tj. hook-ovi se pozivaju od strane jezgra
tokom bootstrap-a

Tokom bootstrap-a dešavaju se događaji koji


iniciraju pozivanje i inzvršavanje f-je

Učitaj meni hook_menu()

http://api.drupal.org/api/drupal
Drupal, teme (Theme)
Celina koja služi za generisanje
prikaza
Sastoji se od php, html i css kodova
Definiše pravila za rendoravanje
sadržaja
Moćnost izvođenja i override

https://www.drupal.org/project/proj
ect_theme
Drupal, Nodes
Predstavlja osnovni tip sadžaja tj.
osnovni tip stranice
Novi tipovi sadržaja se izvode iz
node-a (čvora)
Sastoji se od polja (Fields) title i
body-a
Drupal, Fields
Sadržaj na stranici tj. node-u je
organizovan putem polja

Polje za naslov

Polje za telo node-a

Polje za sliku......
Drupal, Blocks
Predstavlja celinu na stranici
Stranica se sastoji od jednog ili više
blokova
Drupal, Taxonomy
Predstavlja način za klasifikaciju
sadržaja u okviru CMS sistema
Sastoji se od rečnika koji se sastoji
od pojmova između kojih mogu biti
definisane i relacije
Drupal, struktura fajlova
Drupal, obrada zahteva
Zahtevi se prosleđuju putem url i to jednom od
dve varijate
• Clear format http://example.com/foo/bar
• Query string http://example.com/index.php?q=foo/bar

Svi zahtevi prolaze kroz index.php fajl

Svaki zahtev inicira bootstrap proces


Drupal, baza podataka
Svi podaci čuvaju se u okviru baze
podataka koja se formira prilikom
porcesa instalacije
SQL serveri: MySql,MS Sql,
PostgreSql
Database API
Dodavanje modula i tema
Napravite posebne foldere
sites/all/modules i
sites/all/themes

U okviru ovih foldera postavljate


preuzete ili kreirane module i teme
Instalacija
Preduslovi

Potrebno je obezbediti odgovarajući web server


zajedno sa serverom baza podataka (npr. XAMPP)
Preuzeti odgovarajuću verziju sa linka
http://drupal.org/download

Napomena: brojevi verzija se mogu


razlikovati u zavisnosti o aktuelne verzije
Raspakovanje fajlova
Preuzeti fajl raspakovati sa opciom Extract Here
Dobija se folder pod imenom drupal-7.xx čije ime
treba promeniti u drupal7 (ili po želji *)
Taj folder zatim premestiti u c:\xampp\htdocs\
XAMPP-Apache i MySQL
Aktivirati Web server i MySQL server
C:\xampp\xampp-control.exe (dvoklik)
U novootvorenom prozoru kliknuti na Start pored
Apacha i MySQL-a
Kreiranje baze
Otvorite neki browser i u polju za adresu upišite
http://localhost/phpmyadmin nakon čega se
otvara interface za rad sa bazom podataka
Instalacija Drupala
Otvorite novi tab u browser-u upišite sledeće
http://localhost/drupal7/
drupal7 je ime foldera koji ste prebacili u folder
c:\xampp\htdocs . Ako je kod vas drugačije ime
onda postavite vaše
Instalacija Drupal, paramtri za
vezu da bazom
Potrebno je popuniti odgovarajuća polja
Osnovna konfiguracija sajta
Kraj instalacije
Izgled početne stranice
Kreiranje sadržaja
Tipovi sadržaja
Inicijalno dobijaju se dva tipa
sadržaja Article i Basic Page

Oba tipa imaju isti broj polja tj.


naslov (title) i telo (body)

Razlika: Article ima inicajlnu


mogućnost komentarisanja sadržaja
Kreiranje sadržaja - Basic Page
Prečica Add content -> Basic Page
na novootvorenoj stranici
Basic Page, elementi formulara
Basic Page, elementi formulara,
nastavak Odabir opcija za
filtriranje ulaznog
teksta u okviru
tela (body)

Ubacivanje
node-a
(stranice) u
željeni meni
Basic Page, elementi formulara,
nastavak
Unos podataka o
reviziji
postojećeg
sadržaja node-a

Definisanje
željenog url-a, ako
se ne unese ništa
sistem sam
definiše putanju
node/X, X prvi
dostupni ID
Basic Page, elementi formulara,
nastavak
Omogućavanje/Onemoguć-
avanje postavljanja
komentara uz node koji se
kreira

Informacije o autoru i
datumu kreiranja/ažuriranja
Basic Page, elementi formulara,
nastavak

Opcije za
objavljivanje
Tipovi prikaza sadržaja
Postoje dva tipa prikazivanja
sadržaja Teaser i Default

Teaser

Default
Upravljanje sadržajem
Opcija Content
Ukoliko želite da upravljate
sadržajem na sajtu potrebno je da u
glavnom meniju klikne na opciju
Content
Otvara stranicu sa pregledom
sadržaja kao i opcijama za filtiranje i
obavljanje akcija
Stranica Content

Filteri

Akcije nad sadržajem


Upravljanje strukturom
Šta je upravljanje strukturom?
Upravljanje strukturom odnosi se na
mogućnost upravljanja blokovima,
tipovima sadržaja i poljima, menijima i
taksonomijom
Opcije za podešavanje strukture nalaze u
okviru stavke glavnog menija pod nazivom
Structure
Blokovi
Predstavlja najmanju nedeljivu celinu
strukture
Sastoji se od naslova i tela
Smešteni su okviru regiona
Svaka stranica sastoji se od nekoliko
unapred definisanih regiona
Regione definiše tema
Blokovi, nastavak
Upravljanje blokovima obavlje se
odabirom opcije Blocks u okviru celine
pod nazivom Structure Lista regiona
u okviru
Ime regiona
kojih možete
raporediti
blok

Naziv bloka
Blokovi, nastavak
Pri dnu liste blokova i regiona nalazi grupa
pod nazivom Disabled
Ona sadrži blokove koji nisu raspoređeni
Da bi sačuvali trenutni raspored blokva
morate kliknuti na dugme Save blocks
Možete dodati i proizvoljno definisane
blokove putem opcije Add block na vrhu
celine Blocks
Pregled regiona na odabranoj temi možete
dobiti odabirom opcije Demonstrate
block regions (ime teme)
Blokovi, nastavak

Formular na sledećem slajdu


Dodavanje proizvoljnog bloka
Pozicija
bloka u
Naslov bloka, prikazuje se korisniku
odnosu na
temu i
njen
Opis bloka prikazuje se u sek. Blocks
region

Vidljivost u okviru Vidljivost u okviru


stranica stranica određenog tipa
sadržaja
Vidljivost u
zavisnosti od
uloge korisnika Vidljivost u zavisnosti
od korisnika
Podešavanje vidljivosti
Tipovi sadržaja (Content Types)
Definiše tip sadržaja stranice tj.
njenu strukturu i osobine
Strukturu tipa sadržaja određuju
polja
Novi tipovi sadržaja dodaju se preko
Glavni meni ->Structure->
Content Types i odabirom linka
Add content types
Definisanje novog tipa sadržaja
Naziv tipa sadržaja Definisanje labele
za polje title

Opis tipa sadržaja

Definisanje menija u kojima će


se ubacivati sadržaj ovog tipa

Nakon osnovnih podešavanja kliknite


na dugme Save koje vas vodi na stranu
za podešavanje polja
Dodavanje polja
(Fields)
Fields- polja
Tipovi sadžaja sastoje se od polja
(fields)
Osnovni tipovi sadržaja sadrže
podrazumevano 2 polja title i body
Svakom od tipa sadržaja mogu se
dodati i ukloniti polja
Tip sadržaja mora da sadržaji
najmanje jedno polje i to title polje
Dodavanje polja
Kao primer koristićemo dodavanje
polja u okviru tipa Basic page
Želimo da damo polje koje će
sadržati sliku
Glavni meni -> Structure -> Content
Types
Dodavanje polja, nastavak

Oznaka (labela) Tip polja Vrsta odabranog


polja polja

Kada podesite polje kliknite na dugme Save. Sistem vas dalje upućuje da
podesite parametre vezane za polje. Napomena: svako polje ima zasebna
podešavanja
Redosle prikazivanja polja
Ako želite da promenite redosled prikazivanja
polja onda je potrebno da odabere opciju
Manage display (Glavni meni->Structure-
>Content types ->Odaberite tip na primer
Basic page)

Pozicioniranje Opcije za dodatna podešavanja

Format prikaza
Pozicija labele
Deo za polja
koja se ne
Kada završite obavezno kliknite na Save
prikazuju
Navigacija (Menus)
Navigacija omogućava korisnicima da
se snađu na sajtu
Treba da bude što je moguće
intuitivnija
Inicijalno je definisano nekoliko
menija
Mogu se dodavati i sopstveni meniji
Svaki meni se prikazuje u formi
bloka
Navigacija, nastavak
Glavni meni -> Structure -> Menus
Navigacija, dodavanje menija

Naziv menija

Opis menija
Navigacija, lista linkova
Listu linkova menija možete dobiti
odabirom opcije list links
Da li je član
menija vidljiv
ili ne.

Pozicija
Navigacija dodavanje linka
Tekstualni naziv Lokalna putanja
linka (relativna) do
postojeće stranice ili
apsolutna sa http
Opis linka ako je spoljni link

Omogućen/Neomogućen

Da li link ima podlinkove Nadređeni link

Pozicija u meniju
Taxonomy
Omogućava podelu sadržaja sajta na
osnovu pojmova
Sastoji se od jednog ili više rečnika
(Vocabulary)
Svaki rečnik se sastoji od hijerarhije
pojmova (terms)
Glavni meni -> Structure ->
Taxonmoy
Taxonomy, nastavak

Name - ime pojma (term)


Description – opis pojma
Relation – definisanje relacija
među pojmovima
Weight – definisanje pozicije
Dodavanje rečnika
Vezivanje sadržaja za pojmove
Sadržaj se može vezivati za pojmove
preko taxonomy-je
Potrebno je na tipu sadržaja dodati
polje tipa Taxonomy Reference
Prilikom podešavanja polja obratiti
pažnju da li tip sadržaja može
pripadati jednom ili više pojmova iz
odabranog rečnika
Definisanje izgleda
(Themes)
Teme (Themes)
Definiše izgled sajta tj. strukturu
stranice i pojedinih elemenata
Realizovana je pomoću html, css,
javaScript-a i php-a
Postoji veliki broj gotovih tema na
lokaciji https://www.drupal.org/
project/project_theme
Mogu se praviti u sopstvene teme
Teme, nastavak
Kreiranje sopstvenih tema se
najčešče obavlja redefinisanjem
postoječih tema
Mogu se definisati dve nezavisne
teme na sajtu tj. jedna za admin
sekciju druga za ostale korisnike
Sekcija za teme Glavni meni ->
Appearance (lista dostupnih tema)
Sekcija Appearance

Podešavanje za tekuću temu


Sekcija Appearance, nastavak
Odabir teme za koje će biti korišćena u
okviru sekcije za administraciju

Da li će odabrana tema biti korišćena


prilikom izmene sadržaja
Sekcija Appearance,
podešavanja
U okviru svih tema na sajtu a i
pojedninačno mogu se izvršiti neka
podešavanja kao što su na primer
prikazivanje logoa, naslova, favicon,
sekundarnog menija itd.
Može se definisati proizvoljni logo ili
favicon
Instalacija i preuzimanje teme
Potrebno je na stranici
https://www.drupal.org /project/
project_theme odabrati temu (obratiti
pažnju na verziju Drupal-a)
Raspakovati preuzeti fajl putem opcije
Extract Here...
Dobijeni folder prekopirati u
sites/all/themes
U okviru sekcije Appearance kliknuti na
link Set as default preuzete teme
Rad sa korisnicima
Korisnici (People)
Podržava rad sa korisnicima
Neophodno je da se kreira jedan
korisnik prilikom instalacije
Korisnici (People) su podeljeni u
grupe koje se mogu definisati po
potrebi
Inicijalno postoje 3 grupe:
• anonymous user
• authenticated user
• administrator
Korisnici, nastavak
Da bi mogli upravljati sa korisnicima
potrebno je da kliknete na stavku
People kako bi se otvorila istoimena
sekcija
Korisnici, kreiranje
Korisnici, prava pristupa
Pristup pojedinim delovima sajta je
ograničen
Pristup se ograničava na nivou grupe
Podešavanja prava pristupa obavljaju se u
okviru dela Permissions sekcije People

Naziv
Podešavanje privilegije po
privilegije
ulozi
Korisnici, kreiranje uloga
Klikom na stavku Roles u okviru
dela Permissions dobijate
mogućnost uređivanja uloga
Rad sa modulima
Moduli
Predstavljaju celinu koja proširuje
mogućnosti Drupal-a
Donosi jednu ili više novih funkcionalnosti
Moduli se mogu naći u okviru stranice
https://www.drupal.org /project/
project_module
Verzije modula su vezane za verziju jezgro
npr. 7.x.2.1 znači da je namenjena
Drupal-u 7
Glavni meni -> Modules
Moduli, instalacija
Preizmite modul sa lokacije
https://www.drupal.org /project/
project_module
Raspakovati preuzeti fajl putem opcije
Extract Here...
Dobijeni folder prekopirati u
sites/all/modules
U okviru sekcije Modules čekirati
checkbox pored imena modula i kliknuti
na Save configuration
Moduli, instalacija i konfiguracija
Opšti podaci o modulu

Zavisnost modula

Da li je modul omogućen ili ne

Dodatne opcije za modul:


Help-dokumentacija o upotrebi
Permissions-podešavanje priviliegija modula
Configure-podešavanje prametra modula

Napomena: preveliki broj omogućenih modula može da uspori sajt


Podešavanje
parametara sajta
Sekcija Configuration
U okviru sekcije Configuration možete da
podesite neke od opštih prametara sajta
kao i uključenih modula
Glavni meni -> Configuration
Podešavanja su svrstana u grupe
Podešavanje osnovnih
podataka
U okviru sekcije Configuration
kliknite na Site information
Visoka škola strukovnih studija za
informacione i komunikacione tehnologije
Beograd

WEB TEHNOLOGIJE
Drupal CMS (Content Managment System)

dr Nenad Kojić, dipl. inž.


Marko M. Spasojević, spec. inž.

You might also like