Vous êtes sur la page 1sur 240

Nagy Gusztáv

Webes
tartalomkezelő
rendszerek

1.0. verzió

2009. szeptember
2. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Jogi nyilatkozat

Nevezd meg! – Ne add el! – Ne változtasd! 2.5 Magyarország

A következőket teheted a művel:

szabadon másolhatod, terjesztheted, bemutathatod és előadhatod a művet

Az alábbi feltételekkel:

Nevezd meg! A szerző vagy a jogosult által meghatározott módon fel kell
tüntetned a műhöz kapcsolódó információkat (pl. a szerző nevét vagy álne­
vét, a Mű címét).

Ne add el! Ezt a művet nem használhatod fel kereskedelmi célokra.

Ne változtasd! Ezt a művet nem módosíthatod és nem készíthetsz belőle


átdolgozást, származékos művet.

● Bármilyen felhasználás vagy terjesztés esetén egyértelműen jelezned kell mások


felé ezen mű licencfeltételeit.
● A szerzői jogok tulajdonosának írásos engedélyével bármelyik fenti feltételtől el­
térhetsz.

Ez a Legal Code (Jogi változat, vagyis a teljes licenc) szövegének közérthető nyelven
megfogalmazott kivonata.
Ez a kivonat a http://creativecommons.org/licenses/by-nc-nd/2.5/hu/ oldalon is olvas­
ható. A teljes licensz a http://creativecommons.org/licenses/by-nc-nd/2.5/hu/legalcode
oldalon érhető el.
E jegyzet hivatalos honlapjáról (http://nagygusztav.hu) tölthető le a mindenkori leg­
frissebb verzió.
3. oldal

Bevezetés
Ezzel a jegyzettel arra vállalkozok, hogy a Kecskeméti Főiskola GAMF Karán tanuló
hallgatók „kezébe” olyan írásos anyagot adjak, amely az előadások és gyakorlatok mellett
további segítséget ad a webes tartalomkezelő rendszerek (CMS-ek) megismerésére.
Ennek megfelelően a jegyzet zöme nem elsősorban webfejlesztőknek szól, hanem bárki­
nek, aki aktívan hozzá szeretne járulni egy honlap működéséhez. A jelen jegyzetben nem
tárgyalt webfejlesztői ismeretek megismerésére a Web programozás című jegyzete­
met1 ajánlom. Nem utolsó sorban e jegyzetnek az is célja, hogy a webfejlesztők számára
gyakran nehéz terhet jelentő végfelhasználói kézikönyv létrehozásához támpontokat ad­
jon.
A jegyzet feltételezi a mai korszerű böngészők, a webalkalmazások, egy irodai program­
csomag középszintű, valamint a HTML alapszintű ismeretét. Ezek hiányában az anyag
elsajátítására több időt kell fordítani.

1.0 verzió
A jegyzet 1.0-ás kiadása a Drupal 6-os alapján készült. A verzió fontosabb újdonságai:
 a legtöbb alapmodul részletes ismertetése,
 a korábbi verziónál részletesebb ismertető a kiegészítő modulokból
 a korábbi verziónál részletesebb CCK és Views ismertetés,
 esettanulmányok különböző témában.

A jegyzet ára
Sok kritikát kapok az üzleti modellem miatt. Sokan naivnak tartanak, hogy ingyenesen
teszem a jegyzeteimet elérhetővé. Ennek ellenére ragaszkodom az elveimhez. Az ár:
 0 Ft annak számára, aki ugyan letölti, de nem találja hasznosnak, illetve a GAMF
nappali vagy levelező tanrendű, a kurzust felvevő hallgatója;
 pár szavas hozzászólás a honlapomon annak számára, aki ugyan hasznosnak
tartja, de fizetni nem tud érte;
 2.000 Ft annak számára, aki hasznosnak találja és tud is érte fizetni.
Ez utóbbi esetben a nagy.gusztav@gmail.com címre küldött e-mailben lehet jelezni a fi­
zetési szándékot a számlázási cím megadásával. Én erre válaszul a bankszámlaszámo­
mat, és postai úton a számlát fogom küldeni.
Két személy inspirált abban, hogy ezt az üzleti modellt alkalmazzam:
 Jézus Krisztus, akitől (közvetve vagy közvetlen) mindent kaptam,
 Muhammad Junusz bangladesi, Nobel-békedíjas közgazdász, aki bebizonyítot­
ta, hogy nem csak a vad kapitalista üzleti modellek működhetnek.

Kecskemét, 2009. szeptember


a szerző

1
A legfrissebb változat letölthető a http://nagygusztav.hu oldalról.
4. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Köszönetnyilvánítás

„A szabad vagy nyílt forráskódú szoftverek (FLOSS)


szabadon használható, másolható, terjeszthető, tanul­
mányozható és módosítható számítógépes programok.
Ilyen például a Linux operációs rendszer, a Mozilla Fi­
refox böngésző vagy az OpenOffice.org irodai cso­
mag.”2

A nyílt forrás (open source) és a szabad szoftver (free software) filozófiája, és


a benne „hívő” szakemberek munkája tette lehetővé, hogy a Drupal3 tartalom­
kezelő rendszert Ubuntu4 Linux operációs rendszeren és a Mozilla Firefox5
böngészőt használva megismerjem, valamint a magam és mások tapasztalata­
it az OpenOffice.org6 irodai programcsomaggal leírjam7, és közzé tegyem.
A Drupal megismerésében nagy segítségemre volt a hazai Drupal közösség ál­
tal szervezett konferenciákon túl a fórumokon tapasztalt hihetetlen segítő­
készség.

2
Forrás: http://hu.wikipedia.org/wiki/Szabad_szoftver
3
http://drupal.hu/
4
http://ubuntu.hu/
5
http://firefox.hu/
6
http://www.openoffice.hu/
7
Egyszer talán eljutok a Scribus (szintén nyílt forrású) kiadványszerkesztő használatáig is :-)
5. oldal

Tartalomjegyzék
1. Alapfogalmak..........................................7 8.2. Tartalmak beállításai....................58
1.1. Honlap típusok.................................7 8.3. Tartalom típusok...........................58
1.2. Tartalomkezelő rendszerek............11 8.4. Tartalom beküldése.......................61
2. Drupal kézikönyv kezdőknek...............13 8.5. A tartalmak megtekintése.............63
2.1. Felhasználókezelés.........................13 8.6. Jogosultságok................................63
2.2. Tartalmak kezelése........................18 9. Az alaprendszer moduljai....................65
3. A honlap megtervezése........................24 9.1. Az Aggregator modul.....................66
3.1. Mi a célunk a honlappal?..............24 9.2. A Blog modul.................................66
3.2. Kik lesznek a látogatóink?............24 9.3. A Blog API modul..........................66
3.3. Mit szeretnénk bemutatni?...........24 9.4. A Book modul................................66
3.4. Mik a kulcsfontosságú funkciók?..25 9.5. A Color modul...............................70
3.5. Milyen visszajelzéseket várunk a lá­ 9.6. A Comment modul........................70
togatóinktól?........................................26 9.7. A Contact modul............................70
3.6. Részt vesznek-e a látogatóink a tar­ 9.8. A Database logging modul............73
talom előállításában?...........................27 9.9. A Forum modul.............................74
3.7. Miben fog a tartalom és a szolgálta­ 9.10. A Help modul...............................74
tás fejlődni (pl. 1 hónap, 1 év múlva)?. 27 9.11. A Locale és Content translation
3.8. Ki fogja az oldalt karbantartani?. .27 modulok................................................75
3.9. Milyen csoportos és személyes jogo­ 9.12. A Menu modul.............................81
sultsági körökre lesz szükség?.............28 9.13. Az OpenID modul........................81
3.10. Hol és hogyan szeretnék a honla­ 9.14. A Path modul...............................81
pot az interneten reklámozni?.............28 9.15. A PHP Filter modul.....................82
3.11. Látogatottsági statisztikákat szeret­ 9.16. A Ping modul...............................82
nének-e megismerni?...........................29 9.17. A Profile modul............................83
4. Telepítés előtt.......................................30 9.18. A Search modul...........................83
4.1. A web működése............................30 9.19. A Statistics modul........................85
4.2. Alapvető hardver és szoftver szük­ 9.20. A Syslog modul...........................86
ségletek..................................................31 9.21. A Taxonomy modul.....................86
4.3. A Drupal felépítése........................32 9.22. A Throttle modul........................90
5. Szerver kialakítása...............................33 9.23. A Tracker modul..........................91
5.1. Az XAMPP integrált telepítő csomag 9.24. A Trigger modul..........................91
..............................................................33 9.25. Az Update status modul..............94
5.2. Telepítés Linux alatt......................36 9.26. Az Upload modul........................94
5.3. Letöltés...........................................37 10. Az alaprendszer szolgáltatásai...........98
5.4. Kitömörítés localhost-ra...............37 10.1. Dátum és idő................................98
5.5. Fájlok feltöltése távoli szerverre...38 10.2. Teljesítmény beállítások.............99
5.6. Az adatbázis előkészítése..............40 10.3. RSS közzététel............................102
6. Telepítés................................................41 10.4. Hibajelentések beállításai.........102
6.1. Nyelv választás...............................41 10.5. Képkezelő eszközkészlet............103
6.2. Settings.php és files.......................41 10.6. Rövid webcímek........................103
6.3. Adatbázis-kapcsolat......................42 11. A honlap kialakítása..........................104
6.4. Webhely beállítása........................43 11.1. Alapkérdések..............................104
7. Első lépések..........................................48 11.2. Menük és blokkok kialakítása....106
7.1. Kezdeti problémák.........................48 12. Felhasználókezelés............................115
7.2. Webhely karbantartás...................52 12.1. Felhasználók létrehozása............115
7.3. Webhely információk....................53 12.2. Felhasználók kezelése................116
8. Tartalmak.............................................55 12.3. Jogosultságkezelés......................117
8.1. Beviteli formák...............................55 12.4. Jogosultságok.............................119
6. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

13. Blog oldal kialakítása........................120 16.4. Jogosultságok.............................176


13.1. Tartalmaink címkézése..............120 16.5. Sminkek módosítása..................176
13.2. A Comment modul.....................122 16.6. Új sminkek létrehozása.............182
14. Közösségi oldal kialakítása ..............125 17. A Views modulok..............................185
14.1. A Profile modul...........................125 17.1. Nézetek áttekintése....................185
14.2. A Forum modul..........................129 17.2. A Simple views modul................187
14.3. A Poll modul...............................132 17.3. Gyári nézetek.............................190
14.4. A Blog modul..............................133 17.4. Nézetek létrehozása...................195
14.5. Tartalmak megosztása RSS csator­ 17.5. További, Views modulhoz kapcso­
nákon...................................................135 lódó modulok......................................201
14.6. Az Aggregator modul.................135 18. A CCK modulok................................202
15. További modulok választása, telepítése 18.1. Elméleti háttér: Egyed-kapcsolat
................................................................138 modell.................................................202
15.1. Általános információk................138 18.2. Telepítés....................................204
15.2. Az Administration Menu modul139 18.3. Használható mezőtípusok és felü­
15.3. A BUEditor modul.....................140 leti elemek..........................................204
15.4. A Captcha modul........................142 18.4. Mezők megjelenítése.................208
15.5. A Content Access modul............144 18.5. További, CCK-ra épülő modulok
15.6. Az External Links modul...........146 ............................................................209
15.7. Az FCKEditor modul..................147 19. Drupal esettanulmányok..................211
15.8. A Global Redirect modul...........147 19.1. Bárányka Keresztyén Óvoda.......211
15.9. A Google Analytics modul.........148 19.2. Poli-Tech 2005 Kft.....................214
15.10. Az Image modul.......................148 19.3. Tantárgyi oldalak.......................217
15.11. Az IMCE modul.........................152 19.4. Kecskeméti Baptista Gyülekezet
15.12. A Lightbox2 modul...................153 .............................................................218
15.13. A Pathauto modul.....................155 19.5. GAMF honlap............................225
15.14. A Poormanscron modul...........156 20. Adminisztrációs feladatok...............232
15.15. A Simplenews modul................157 20.1. Biztonsági mentés.....................232
15.16. A SpamSpan modul..................157 20.2. Honlap átköltöztetése, visszaállítá­
15.17. A Tagadelic modul....................158 sa.........................................................235
15.18. Az Ubercart modul...................160 20.3. Frissítés.....................................236
15.19. A Webform modul....................161 21. Gyakorló feladatok...........................238
15.20. A Wysiwyg modul....................166 21.1. Szálláskereső oldal.....................238
15.21. További modulok röviden........169 21.2. Befektetési tanácsadó................239
16. Sminkek használata..........................173 21.3. Céges weboldal hírekkel, képekkel
16.1. Az Adminisztrációs smink..........173 ............................................................240
16.2. A Color modul............................173 21.4. Egyesületi honlap......................240
16.3. Sminkek telepítése.....................174
1. Alapfogalmak 7. oldal

1. Alapfogalmak
E jegyzet nem vállalkozhat arra, hogy az internet, és azon belül a web használatát az ala­
poktól részletesen bemutassa. Arra azonban igen, hogy bemutassa a webes tartalom-elő­
állítás értő művelői számára szükséges alapismereteket.
A szerző vágya kettős:
 hosszú távon: a GAMF Karon végzett hallgatók a majdani munkahelyükre vi­
gyék el az itt tanultakat, és a cégük8 oldalának kialakításában, üzemeltetésében
aktívan vegyenek részt,
 rövid távon: a hallgatók bekapcsolódhassanak különböző honlapok aktív hasz­
nálatába.
Kezdjük a ma jellemző kis-közepes méretű honlapok jellemző típusainak, főbb szolgálta­
tásainak áttekintésével.

1.1. Honlap típusok

1.1.1. Klasszikus céges weboldalak


E honlapok eredetét a régóta ismert céges szóróanyagok, brosúrák, valamint a cégtáblák
környékén kell keresnünk. A web hőskorában (az 1990-es évek eleje-közepe) az a né­
hány vállalat, amelyik egyáltalán belekezdett a „web meghódításába”, többnyire e szóró­
anyagok webre vitelét hajtotta végre.
Később a céges oldalak a puszta elérhetőségi adatok, a cégvezető/tulajdonos fényképe és
a cégprofil közlése mellett a nyújtott szolgáltatások, termékek bemutatását is egyre ko­
molyabban vették. Sok oldal még ma is elsősorban ezt a modellt követi.
Megjegyzés: Bizonyos esetekben ennél több nem is várható el egy cégtől.
Példaként nézzünk meg a Koch Sándor Csongrád Megyei Tudományos Ismeretterjesz­
tő Társulat9 oldalát (1. ábra). A cég fő profilja a tanfolyamok szervezése, így a legtöbb ol­
dal a tanfolyami tematikákat, és kapcsolattartási információkat tartalmazza.
Megjegyzés: Jogos a felvetés, hogy itt sok lehetőség lenne még az információk bemuta­
tására, interakciók lehetőségének (pl. előjelentkezés webes felületen, hírlevél, hozzászó­
lási lehetőségek, fórum stb.) kiaknázására. Különösen a webtől idegenkedő vezetők
szokták a webes jelenlétet fokozatosan növelni.

8
A kis-, és középvállalatok jelentős része igen keveset használ ki a web lehetőségeiből.
9
http://www.titszeged.hu/
8. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

1. ábra: Céges honlap: Koch Sándor Csongrád Megyei TIT

A Bárányka Keresztyén Óvoda10 honlapja is hasonló célokat tűzött ki maga elé, de itt a
tartalom dinamikusan, időszerű információkkal bővül (2. ábra).

2. ábra: Céges honlap: Bárányka Keresztyén Óvoda

10
http://baranykaovi.kbgy.hu/
1. Alapfogalmak 9. oldal

1.1.2. Közösségi oldalak


Ma, az (egyesek által még mindig vitatott) Web 2 korszakában közösségi oldalak alatt az
olyan „nagyokat” szokás érteni, mint pl. az iwiw11. Pedig a néhány nagy árnyékában sok
száz/ezer honlap van, ahol nem a személyes, magánéleti kapcsolatok, hanem valamilyen
szakmai vagy egyéb téma alapján gyűlnek össze a szakértők és az érdeklődők, és végez­
nek közösségi tartalom-előállítást.
Példaként érdemes megnézni két szakmai portál, a Weblabor12 (3. ábra) és a Programo­
zói portál13 felépítését. Mindkettőre jellemző, hogy vannak ugyan a szűk körű szerkesztő­
ségi csapat részéről mértékadó anyagok, de a tartalom jelentős, sőt domináns része a
napi több ezer látogató által a fórumokon és (a Weblabor esetén blogmark, de akár hír
küldése által is) összegyűjtött tartalom.

3. ábra: Weblabor szakmai-közösségi oldal

Nézzünk egy másik példát is, amely céljaiban, szolgáltatásaiban az iwiw-szerű oldalak­
hoz hasonlítható. A felsofok.com14 Berka Viktor szakdolgozati feladata (4. ábra).

11
http://iwiw.hu/
12
http://weblabor.hu/
13
http://prog.hu/
14
http://felsofok.com/
10. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

4. ábra: A felsofok.com közösségi honlap

Tipikus jellemzőjük tehát e közösségi oldalaknak a valamilyen rendezőelv (pl. már meg­
lévő kapcsolatok egy ifjúsági egyesület vagy gyülekezet oldalán; vagy a közös érdeklődési
kör) szerint való csoportosulás.

1.1.3. Blogok
A weblogok, vagyis webes naplók (legalábbis magyar nyelvterületen) viszonylag újdon­
ságnak számítanak. A gyökereket exhibicionista („magamutogató”) fiatalok személyes,
sőt sokszor bizalmas15 naplóinál kell keresni.
Mára a helyzet jelentősen átalakult. Nem szűntek meg ugyan a személyes (én) blogok, de
a jegyzet célját tekintve sokkal nagyobb jelentőségűek az egy-egy független szakértő által
fenntartott (pl. Doransky16 a webes trendek világban, 5. ábra), vagy éppen a vállalatok­
hoz kapcsolódó blogolás. Ez utóbbi akár a cég egészét megjelenítő (ún. céges blog), akár
a nagyobb vállalatok meghatározó munkatársainak (különösen az un. evangelistáknak17)
önálló blogjai is lehetnek. Utóbbira példa olyan neves vállalatok, mint a Sun18, Mozilla19
vagy Microsoft20 vezető fejlesztőinek blogjai, ahol a legfrissebb publikus szakmai infor­
mációkat lehet megismerni.

15
„Nem mondhatom el senkinek, elmondom hát mindenkinek” megközelítés.
16
http://doransky.hu/
17
Az eredetileg keresztény fogalmat ma már az egyes vállalatokat és/vagy termékeket népszerűsítő mun­
katársakra is alkalmazzuk.
18
http://blogs.sun.com/
19
http://blog.mozilla.com/
20
http://blogs.msdn.com/
1. Alapfogalmak 11. oldal

5. ábra: Doransky - Dobó Mátyás népszerű blogja

1.2. Tartalomkezelő rendszerek


A Wikipédia definíciója szerint „a tartalomkezelő rendszer (angolul Content Manag­
ement System, CMS) olyan szoftverrendszer, amely nem strukturált információk, mint
például az internetes portálok, akár több felhasználó általi elkészítését, kezelését, és tá­
rolását segíti. Továbbá gondoskodik a tartalmak strukturált megjelenítéséről, statisz­
tikák készítéséről, kiegészítő funkciók integrálásáról.”
E definícióhoz – a jelen jegyzet szempontjából – legfontosabb kiegészítés, hogy tarta­
lomkezelő rendszerek használata esetén a kis-közepes méretű honlapok nem, vagy csak
kisebb részben (elsősorban a honlap elindításánál) igényelnek webfejlesztői, programo­
zói közreműködést. A honlap fenntartását akár teljes egészében meg tudja oldani, aki az
e jegyzetben foglaltakat megfelelő szinten megismeri.

1.2.1. Melyiket válasszunk?


Tartalomkezelő rendszerből sokféle van. Vannak
 fizetősek és ingyenesek/nyílt forrásúak21
 egyszerűbbek és komplexebbek
 különböző szerver környezeten (pl. Java, .Net, PHP, Python, Ruby platformon)
üzemeltethetők

21
Éremes megemlíteni, hogy az ingyenes és a nyílt forrású fogalom nem ugyanazt jelenti. Sokszor azon­
ban, és a CMS-ek esetén különösen sokszor az ingyenesek egyben nyílt forrásúak is.
12. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

 kezdetlegesek és jól kiforrottak


 magyarul elérhetők, vagy csak más nyelven tudók
 általános célúak és specializáltak (pl. e-learning, e-commerce, fórum, blog stb.)
Jól látszik, hogy ez alapján nem könnyű a választás. A szerző véleménye azonban az,
hogy a Drupal a legtöbb felmerülő szempont szerint előnyös választás, ezért e jegyzet a
Drupal segítségével történő tartalom-előállításra koncentrál.
A választáshoz nem utolsó szempont, hogy ki tudjuk-e próbálni a CMS-t a döntés előtt.
Itt mutatkozik meg a nyílt forrású rendszerek nagy előnye: akár online, előre telepített
módon is kipróbálhatjuk őket. A magyar nyelven is használható, nyílt forrású CMS-ek
legtöbbjét a CMS Award22 oldalon bárki kipróbálhatja. Ezen kívül (angol nyelven) még
több rendszer kipróbálható az OpensourceCMS23 oldalon.
További nem elhanyagolható szempont, ha egy CMS aktív felhasználóiból álló magyar
közösség is elérhető. A legfontosabb CMS-ek esetén ez szintén megfigyelhető.
A magyar felhasználók között legnépszerűbb CMS-ek:

Drupal Joomla Moodle Wordpress


http://drupal.hu http://www.joom­ http://moodle.org http://word-press.hu
la.org.hu/

Míg a Moodle oktatási oldalaknál, Wordpress blogok esetén a legnépszerűbb, a Drupal


és Joomla az általános kategóriában küzd24.
Ebben a jegyzetben természetesen nincs arra lehetőségünk, hogy több fontosabb CMS-t
egymással is összehasonlítva bemutassunk. Ezért e jegyzet a Drupalról fog szólni.
(Ahogy látható lesz, a Drupal alkalmas blogok és oktatási célú oldalak kialakítására is.)

22
http://www.cmsaward.hu/
23
http://opensourcecms.com/
24
„Első helyet ért el Packt Publishing kiadó szavazásán a Drupal! A versenyt öt kategóriában hirdették
meg, ebből háromban indulhatott a Drupal. A legjobb PHP alapú nyílt forráskódú tartalomkezelő és a
legjobb nyílt forráskódú közösségi tartalomkezelő kategóriában második helyezést ért el, az általános
versenyt, vagyis a legjobb nyílt forráskódú tartalomkezelő kategóriát pedig megnyerte!”
forrás: http://drupal.hu/hirek/20071104/packtnyertes
2. Drupal kézikönyv kezdőknek 13. oldal

. Drupal kézikönyv kezdőknek


Ez a fejezet segíteni fog a Drupal alapú weboldalak használatában. Bemutatja, hogyan
hozzunk létre felhasználói azonosítót (másként fogalmazva: hogyan regisztráljunk), ho­
gyan lépjünk be, hogyan állítsuk be személyes adatainkat, és végül hogyan hozzunk létre
tartalmakat (weboldalakat).
A Drupal egy tartalomkezelő rendszer. Célja, hogy egyszerűen lehessen tartalma­
kat (szövegeket, képeket, csatolt állományokat, stb.) felvinni, és azokat elérhetővé tenni
a látogatók számára. Nem kell a technikai részletekkel (túl sokat) foglalkoznunk, első­
sorban a tartalmakra kell koncentrálnunk.
A Drupal a tartalmakat adatbázisban tárolja, ahonnan – a felhasználó böngészőjének ké­
résére – a tartalmakat közzéteszi.
Természetesen a Drupal lehetőséget ad arra, hogy a weboldal látogatói különböző sze­
repkörökben és különböző jogosultságokkal használhassák a weboldalunkat.
Van, akinek tartalmakat feltölteni, másoknak szerkeszteni, a legtöbb látogatónak pedig
„csupán” olvasni van lehetősége az oldalakat. (Bár ez utóbbi sem mindig így van, hiszen
lehetnek zárt oldalak is, amelyeket csak bizonyos látogatók tekinthetnek meg.)
Ahhoz, hogy minden látogató pontosan azt (nem többet és nem kevesebbet) tehesse meg
a honlapon, amire az oldal tulajdonosa vagy adminisztrátora fel akarja jogosítani, bizo­
nyos esetekben elengedhetetlen a látogató személyének beazonosítása. Ennek
régóta bevált módszere, hogy a felhasználók számára azonosítót hozunk létre (más né­
ven regisztrálunk), amihez jogosultságokat rendelünk, a felhasználó pedig a honlap ké­
sőbbi használatai esetén a felhasználónevének és jelszavának megadásával azonosítja
magát (bejelentkezik).
Bevezetésként még érdemes megemlíteni, hogy a Drupal weboldal adminisztrátora
jogosult arra, hogy a honlapon olyan feladatokat is elvégezzen, amelyek senki másnak
nem engedélyezettek, például egy regisztrált felhasználó jogosultságainak pontos beállí­
tása.

2.1. Felhasználókezelés

2.1.1. Regisztráció
A Drupal oldalakon a tartalmak beküldése (létrehozása), szerkesztése általában csak
regisztrált, és bejelentkezett látogatók számára (vagy azok közül is csak némely
szűkebb csoport számára) engedélyezett. (Speciális esetekben a látogatók bejelentke­
zés nélkül is küldhetnek be tartalmakat: tipikusan fórum bejegyzések, illetve megjegy­
zések beküldése esetén ezt bárki számára meg szoktuk engedni.)
A regisztráció – az oldal üzemeltetőjének döntése alapján – kétféle módon történhet:
 saját magunkat regisztráljuk, vagy
 az adminisztrátor regisztrál.

Saját magunk regisztrálása


A látogatók maguk végezhetik el a regisztrációt. Ennek módja, hogy a honlap belé­
pésre szolgáló részén megkeressük a Felhasználó létrehozása linket (6. ábra).
14. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

6. ábra: Felhasználó létrehozása link

A linkre kattintva megjelenik a Saját adatok oldal (7. ábra), ahol a kívánt Felhasználói
név és az E-mail cím megadása szükséges. Ezen kívül további adatok megadására is le­
het szükség, illetve lehetőség, az adminisztrátor által meghatározott módon. Sajnos egy­
re gyakrabban van szükség például a Captcha25 ellenőrzés beiktatására.

7. ábra: Regisztráció

(Ha az ábrán látható oldalon a jelszó megadására nincs lehetőség, akkor ennek biztonsá­
gi oka van, és a jelszó a megadott e-mail címre fog érkezni. Hamarosan visszatérünk erre
az esetre.)
A felhasználói név megválasztásánál egyre elterjedtebb megoldás a saját nevünk al­
kalmazása, főleg olyan oldalaknál, ahol a honlap látogatói nem csak virtuálisan (a hon­
lap látogatóiként), hanem fizikai valójukban is találkozhatnak, ismerhetik egymást.
A jelszó kiválasztásánál26 érdemes a következőket figyelembe venni:
 olyan jelszót válasszunk, amelyik nem található ki könnyen a személyünk ismere­
tében sem,
25
„A captcha vagy CAPTCHA (magyarosan kapcsa) egy 2000-ben megjelent védekezési módszer a spa­
mek, közelebbről a kommentspamek ellen. A módszer lényege, hogy a hozzászóláshoz a képen látható
szót is be kell írni, ez azonban a képfájlon torzítva jelenik meg, tehát a spamrobot nem ismeri föl.”
forrás: http://hu.spam.wikia.com/wiki/Captcha
26
A jelszó természetesen utólag is megváltoztatható.
2. Drupal kézikönyv kezdőknek 15. oldal

 minden honlapon más jelszót használjunk,


 a jelszó lehetőleg tartalmazzon számokat, nagybetűket és írásjeleket is, és leg­
alább 6-8 karakterből álljon.
Fontos megjegyezni, hogy az űrlapokon begépelt adatoknak nem lesz végleges hatá­
suk, amíg az űrlap alján található Beküldés, Mentés vagy hasonló (jelen esetben Fel­
használó létrehozása) feliratú gombra kattintva el nem küldjük azokat a honlapot ki­
szolgáló webszervernek.
A weboldal adminisztrátora szigorúbb lépéseket is beiktathat a fenti regisztrációs folya­
matba. Ez azonban az adminisztrátornak csupán lehetősége, nem minden esetben él
vele. Ilyen lépések lehetnek például:
 A regisztráció során megadott e-mail címre automatikusan érkezhet egy le­
vél, amelyben a leírt teendőket követve véglegesíthetjük a regisztrációt. (E lépés
célja, hogy korrekt, működő e-mail címmel rendelkezzen minden regisztrált láto­
gató.) Ebben az esetben a jelszót nem tőlünk várja a weboldal, hanem később tud­
juk azt beállítani.
 A regisztráció adminisztrátori elfogadáshoz kötött is lehet. Ekkor az admi­
nisztrátor elfogadásáig csak zárolt (vagyis pillanatnyilag nem használható) re­
gisztrált felhasználóval rendelkezünk, az adminisztrátor engedélye után pedig
Aktív felhasználóvá válunk. (Aktív felhasználónak tehát azt tekintjük, aki be tud
jelentkezni az oldalra.)

Az adminisztrátor regisztrál
Előfordulhat, hogy az adminisztrátor maga hoz létre a felhasználók számára fel­
használói azonosítót. Ebben az esetben a Drupal (vagy az adminisztrátor) egy e-mailben
értesíti a leendő felhasználót a regisztráció megtörténtéről. Ennek előnye, hogy a fel­
használó megfelelő jogosultságait már ekkor megkaphatja. Zárt oldalakra többnyire csak
így lehet bekerülni.

Az OpenID használata
Technikailag létező, de Magyarországon alig ismert megoldás az OpenID használata. A
Wikipédia27 szerint „az OpenID egy nyílt, decentralizált, ingyenes internetes szolgálta­
tás, ami lehetővé teszi a felhasználók számára, hogy egyetlen digitális identitással lép­
jenek be különböző oldalakra”.
Természetesen a Drupal alkalmas az OpenID bejelentkezések kezelésére.

2.1.2. Be- és kijelentkezés


Addig, amíg az oldalra be nem jelentkezünk a felhasználónév és jelszó megadásával,
mindössze azonosítatlan (anonymous, a továbbiakban névtelen vagy vendég) felhaszná­
lóként tudjuk az oldalt használni. Ha ki akarjuk használni a regisztrált felhasználói azo­
nosítónkkal járó plusz szolgáltatásokat, akkor mindenképpen be kell jelentkez­
nünk.
A bejelentkezés legegyszerűbb módja, hogy a 6. ábrán látható űrlapon megadjuk a fel­
használónevünket és a jelszavunkat, majd a Belépés gombra kattintunk.

27
http://hu.wikipedia.org/wiki/OpenID
16. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

A sikeres belépésre utal többek között, hogy az eddig látható Belépés űrlap (célja
nem lévén) nem lesz látható. Látszik viszont helyette az ún. Navigációs menü (8. áb­
ra), amelynek címe (felirata) a saját felhasználói nevünk. Itt található a Saját adatok és a
Kilépés link, ez utóbbira kattintva ismét névtelen felhasználóvá válunk a Drupal alapú
oldal számára.

8. ábra: Navigációs menü

A böngészőnk (beállításaitól függően) felajánlhatja, hogy a begépelt adatokat elmen­


ti. Ezt csak akkor fogadjuk el, ha a számítógéphez fizikailag más nem tud hozzáférni.
Például netkávézóban, iskolai gépteremben nem szabad elmentenünk, mert akkor ille­
téktelenek használhatják a honlapot a mi nevünkben és jogosultságunkkal.
Ha engedélyezzük a belépési adatok elmentését, akkor a legközelebbi látogatáskor a
böngészőnk fel fogja ajánlani (9. ábra) a korábbi adatokat, így azokat nem kell újra begé­
pelnünk.

9. ábra: A böngésző ajánlata

Biztonsági okokból lehetőleg mindig lépjünk ki a Kilépés link (8. ábra) segítségével.

2.1.3. Saját adatok módosítása


A regisztrált felhasználók saját adataikat megváltoztathatják a Saját adatok (8. ábra),
linkre, majd a Szerkesztés fülre kattintva.
Az e-mail cím és a jelszó megváltoztatása minden esetben lehetséges (10. ábra). Az ad­
minisztrátor beállításaitól függ, hogy pontosan ezen kívül mit tudunk az oldalon beállí­
tani. A következők szoktak előfordulni:
2. Drupal kézikönyv kezdőknek 17. oldal

10. ábra: Saját adatok szerkesztése

 Ha engedélyezve van, megváltoztathatjuk a felhasználónevünket28.


 Ha engedélyezve van, itt feltölthetünk egy saját arcképet, ami például a be­
küldött tartalmaink, hozzászólásaink mellett jelenhet meg.
 Többnyelvű oldal esetén a felhasználói felület nyelvét megváltoztathatjuk.
 Ha engedélyezve van, az időzóna megadásával korrigálhatjuk a szerver és a mi
számítógépünk közötti esetleges időzóna-eltérést.

28
Ezt ritkán szoktuk engedélyezni, inkább az adminisztrátor határkörében szokás hagyni.
18. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

 Ha az oldal többféle kinézettel (sminkkel) rendelkezik, beállíthatjuk a számunk­


ra megfelelőt.
 Ha engedélyezve van, a hozzászólásainknál alapértelmezetten megjelenő aláírás
szöveget is megadhatunk.

2.2. Tartalmak kezelése


A Drupal tartalomkezelő rendszer fő célja, hogy a honlap tartalmait (oldalait) kezelje,
vagyis lehetővé tegye az oldalak létrehozását, módosítását, törlését, megtekintését. (Ter­
mészetesen a szolgáltatásokat csak az adott feladat ellátására jogosult felhasználók érhe­
tik el.)

2.2.1. Tartalmak megtekintése


Ez az a funkció, amit minden webet használó jól ismer. Az egyes oldalak tartalmait több­
féle módon érhetjük el. Tipikus lehetőségek:
A címlapon találhatóak általában a legfrissebb tartalmak címei, bevezetői. (Blogok ese­
tén nem csak bevezető, hanem a teljes tartalom megjelenítése is szokásos.)
Jellemzően felül és bal oldalt megjelenő menüpontok közvetlenül vagy közvetve újabb
oldalakra vezethetnek.
Egyre jellemzőbb, hogy többféle úton is elérhetünk egyes tartalmakat, és ebben többféle
navigációs eszköz is a segítségünkre lehet.

2.2.2. Tartalmak létrehozása


Amennyiben rendelkezünk megfelelő jogosultságokkal, a navigációs menün megjelenik
a Tartalom beküldése link (11. ábra).

11. ábra: Tartalom beküldése

Itt olyan tartalom típusok közül választhatunk, amelyek beküldésére jogunk van. (A 11.
ábra esetén csak Oldal típusú tartalmat tudunk beküldeni.)
2. Drupal kézikönyv kezdőknek 19. oldal

12. ábra: Oldal beküldése

A Cím a beküldött oldal címét, míg a Törzs a tartalom érdemi részét várja.

Összefoglaló és teljes nézet


A tartalmunk beküldésekor gondoljunk arra, hogy egyes esetekben (pl. címlapra küldött
tartalom esetén) nem a teljes tartalom, hanem annak csak egy összefoglalója/előnézete
jelenik meg.
A törzs megadása felett az összefoglaló és a teljes nézet viszonyát adhatjuk meg. Az alap­
értelmezett esetben (a 12. ábra szerint) az összefoglaló a teljes nézetben is megjelenik,
tehát min tegy előzetes funkcionál.
Hogy a tartalomnak mennyi része legyen az összefoglaló, az több módon is eldőlhet. Az
alapbeállítások szerint néhány száz karakternyi szöveg kerül automatikusan az összefog­
lalóba. Ha nem szeretnénk ezt az automatizmust hagyni, akkor az Összefoglaló elválasz­
tása a kurzornál gombbal ezt kikapcsolhatjuk, és mi magunk dönthetünk róla (13. ábra).

13. ábra: Oldal beküldése leválasztott összefoglalóval


20. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Beviteli forma
A Törzs mező alatt (14. ábra) pontos információkat kaphatunk arra nézve, hogy e bekül­
dendő tartalmat hogyan kell megadnunk.
Szituációtól függően sokféle eset lehetséges. A Drupal alapértelmezett beállításai a 14.
ábrán láthatóak.

14. ábra: Beviteli forma alapértelmezett információi

Ahogy láthatjuk, az alapbeállítások szerint néhány HTML tagot is használhatunk a szö­


vegünk formázására és tagolására. (Nem kell azonban megijednünk, az adatbevitelre
többnyire kényelmesebb, kevesebb szaktudást igénylő eszközök is a rendelkezésünkre
állnak.) Az egyéb HTML tagok kiszűrésre fognak kerülni.
Mindenképpen figyelembe kell azonban venni, hogy a weboldalak szövegformázásának
logikája (az eltérő megjelenítési logika miatt) eléggé eltér a hagyományos, papír alapú
szövegszerkesztéstől. Ezért egy kicsit el kell felejtenünk a szövegszerkesztőnk papír ala­
pú logikáját, és meg kell tanulnunk, mit is jelent a felbontásfüggetlen tipográfia.
Előfordulhat, hogy a Beküldés nem, csak az Előnézet gomb látható. Ez arra utal, hogy az
előnézet használata kötelező, csak második lépésben fogjuk megtalálni a Beküldés gom­
bot.

Vizuális szerkesztő
A 15. ábrán látszik, hogy a tartalmak bevitele a vizuális szerkesztő segítségével hason­
ló módon oldható meg, mint ahogy azt a szövegszerkesztőnkben is megszokhattuk.

15. ábra: Oldal beküldése vizuális szerkesztővel

Érdemes azonban figyelembe venni, hogy egy weboldal – eltérően egy nyomtatásra
szánt, szövegszerkesztőben készített dokumentumtól, – akár minden látogató esetén
2. Drupal kézikönyv kezdőknek 21. oldal

máshogy fog kinézni. Ezért érdemes csupán alapvető formázási tevékenységre szorít­
kozni. (Többnyire elég kevés formázási lehetőség engedélyezett a felhasználók számára.)

Előnézet
Előnézet kérése esetén megtekinthetjük (16. ábra), milyen lesz az oldalunk, ha véglege­
sen beküldjük. (Ha most kilépnénk a szerkesztési oldalról, és nem a Beküldés gombra
kattintanánk, akkor az eddig bevitt tartalom véglegesen elveszne.)

16. ábra: Tartalom beküldése közben Előnézet

Az oldal Bevezető előnézete tipikusan akkor fog szerephez jutni, ha az éppen beküldés
alatt álló tartalom a kezdőoldalon is megjelenő hír lesz. Általában a Teljes tartalom elő­
nézetével kell elsősorban foglalkoznunk.
Itt még szükség esetén módosíthatjuk az oldal tartalmát, majd ha kész vagyunk, kattint­
sunk a Beküldés gombra. Ezzel a tartalmunk elkészült.

További információk megadása


Bizonyos esetben a címen és a törzsön kívül további információk megadására is van le­
hetőség. Néhány eset ezek közül:
Fórum téma beküldése esetén (17. ábra) kiválaszthatjuk, hogy melyik fórumhoz tar­
tozzon.
22. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

17. ábra: Fórum téma beküldése

Bizonyos esetekben (tipikusan hírek esetén) megadhatunk (18. ábra) egy vagy több
kulcsszót, amellyel a tartalom témáját jelöljük. A kulcsszavakat (még pontosabban
kulcskifejezéseket, mivel több szavasak is lehetnek) vesszővel kell egymástól elválaszta­
ni.

18. ábra: Tartalom beküldése témamegjelöléssel

Az így beküldött tartalmak esetén megjelennek a témák is (19. ábra).

19. ábra: Tartalom a témák listájával

A téma felirata linkként is működik, rákattintva a témához tartozó tartalmak listája ér­
hető el.
Egyes esetekben (tartalomtípustól és jogosultságoktól függően) a tartalom melléklete­
ként csatolt állományok is alkalmazhatók. A melléklet állományokra nézve méret- és
típuskorlátozás lehet érvényben.
Az állomány helyét és nevét a Tallózás gombbal adhatjuk meg (20. ábra). A Csatol gomb
elvégzi a tényleges feltöltést, majd Leírást adhatunk meg, ami a fájlnév helyett lesz lát­
ható.
2. Drupal kézikönyv kezdőknek 23. oldal

20. ábra: Csatolmányok feltöltése és kezelése

Megjegyzés: egyenlőre nem foglalkozunk azzal a kérdéssel, hogy az adott oldal hol (pl.
milyen menüpontban) lesz elérhető a honlapunkon.

2.2.3. Tartalom szerkesztés, törlés


Ha később visszalátogatunk az előzőleg létrehozott oldalunkra, akkor az oldal címe mel­
lett az aktuális Megtekintés fül mellett a Szerkesztés fület is megfigyelhetjük:

21. ábra: Megjelent a Szerkesztés fül

A Szerkesztés fülön a beküldéshez hasonlóan módosítani vagy akár törölni tudjuk a tar­
talmunkat.
Figyelem! A tartalom törlése nem visszavonható művelet!
24. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

3. A honlap megtervezése
Mielőtt egy honlap kivitelezésébe belekezdenénk, érdemes minél alaposabban megter­
vezni azt. Képzeljük el, mi lenne, ha egy felhőkarcoló építésébe tervrajzok és előzetes
(például statikai) számítások nélkül kezdenénk bele. Egy rossz honlap esetén ugyan nem
lesznek emberáldozatok, de a célját biztosan nem fogja betölteni, és végső soron jelentős
(pl. anyagi) kárt okozhat.
A szerző a megrendelővel való kommunikációt egy interjú formájában javasolja kez­
deni, a következő kérdésekkel.
A kérdésekre adott válaszok között persze nagy lehet az átfedés, az interjú célja az el­
érendő célok teljes körű feltérképezése. (Egy konkrét esetben tehát bizonyos kérdése­
ket ki is hagyhatunk, ha azok feleslegesnek, értelmetlennek tűnnek.)
Természetesen a kérdések akkor is alkalmazhatók, ha a saját vagy cégünk honlapját sze­
retnénk elkészíteni.

3.1. Mi a célunk a honlappal?


Legelőször tisztáznunk kell, mi a célunk a honlappal, mit akarunk elérni a segítségével.
Egy céges oldal esetén általában (de nem kizárólag) a következők szoktak megfogalma­
zódni:
 Bemutatkozás: kik vagyunk
 Tevékenység: mit kínálunk (termékek, szolgálatatások)
 Elérhetőség, kapcsolatfelvétel
Közösségi oldalnál a kommunikáció megvalósítása szokott a középpontban megjelen­
ni, míg blog oldalnál a célok között szerepelhet pl. a szakértői tekintély megszerzése.
Fogalmazzuk meg tehát egyetlen mondatban, mi a cél.

3.2. Kik lesznek a látogatóink?


Tartalomközpontú oldalak esetén olvasóként tekintünk a látogatóinkra.
A szolgáltatások, termékek eladásával kapcsolatban érdeklődőként, potenciális vagy
tényleges vevőként közelítjük meg a látogatókat. Cél többnyire a látogatók vásárlóvá va­
ló konverziója29 is.
Ha a látogatóknak interakciós lehetőségeket is nyújtani szeretnénk, akkor a közösségi
tartalmat előállító szerzőként is tekinthetünk rájuk.

3.3. Mit szeretnénk bemutatni?


Ez a kérdés elsősorban a honlapra kerülő információtömeg struktúráját próbálja felderí­
teni. Szakmai megfogalmazásban akár adatbázis-tervezésnek30 is mondhatjuk.

29
„A konverzió éppen azt az eseményt jelenti, aminek a bekövetkezése a tulajdonos szempontjából érté­
kes. Egy webshop esetében például a legkézenfekvőbb konverziós esemény maga a vásárlás/megrendelés.”
Forrás: http://www.primodesign.hu/blog/konverzio-mj
3. A honlap megtervezése 25. oldal

A hangsúly tehát a struktúrán van: milyen tartalmaink lesznek, és milyen kapcsolatok


lesznek közöttük.
Információ-központú oldal esetén (mint amilyen például a GAMF honlapja) erősen
megjelenhet a cég/intézmény struktúrája, bár ez nem mindig célravezető. Fontos, hogy
elsősorban a látogatók fejével, az ő igényeiket „kitalálva” tervezzünk.
Céges oldal esetén a termékek, szolgálatatások lesznek a középpontban. Ekkor a látoga­
tók legfontosabb igénye a korrekt és részletes információközlés, sőt on-line vásárlás, te­
hát ezt kell a végletekig kiszolgálnunk. Ugyanakkor a cég belső struktúrája a látogatók
domináns részét nem érdekli, így semmiképpen sem szabad például az egyes vezetők,
részlegek bemutatását domináns helyre tenni.

3.4. Mik a kulcsfontosságú funkciók?


Egy honlap funkciói alatt azt értjük, hogy milyen típusfeladatokat kell megoldania.
Az információk közlése legtöbbször szükséges funkció. Ehhez persze áttekinthető
struktúra és többféle navigációs lehetőség, legelőször is szabad szavas keresési funkció
jár. Persze minél többféle igényt kielégítő alternatív navigációs funkciókra is érdemes
gondolni, például a címkék (tagok) alkalmazására.
Speciálisabb igény a közösségi tartalom-előállítás, aminek hagyományos eszközei a fó­
rumok, hozzászólási lehetőségek biztosítása.
A válasz második szintje akár egy konkrét funkciólista is lehet, pl.
 vendégek regisztrációja, beléptetése
 automatizált hírlevél rendszer
 webáruház
 kapcsolati űrlap
 egyéb információkérő űrlapok
 látogatottsági statisztika
 szavazás
 fórum
 multimédia (zene, kisfilm, interaktív animáció)
 hírlevél
 RSS csatornák
 stb.
Ilyen megközelítésben azonban érdemes azt is tisztáznunk a megrendelővel, hogy az
egyes funkciók alatt ki mit ért31.

30
A szerző véleménye szerint ekkor az ún. egyed-kapcsolat diagramm alkalmazása a legmegfelelőbb.
31
Hogy mennyire nem egyszerű a megrendelővel való kommunikáció, jól mutatja a következő hirdetés:
http://drupal.hu/node/3461. Itt a megrendelő 114 szavas információ alapján vár árajánlatot :-(
Sajnos ez a hozzáállás nem egyedi, hanem gyakran előforduló.
26. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

3.5. Milyen visszajelzéseket várunk a látogatóinktól?


Nehéz elképzelni egy komoly honlapot visszajelzési lehetőség nélkül.

Offline lehetőségek
A cég vagy személy megnevezése nélkül a honlap komolytalan lesz, hagyományos (pos­
tai) cím, vagy telefonszám megadás nélkül pedig hiteltelen.
Az e-mail cím megadása általánosnak tekinthető, de sokszor csak egy webmesteri elér­
hetőséget találunk. A látogatók bizalmát azzal építhetjük, ha szituációkhoz/felada­
tokhoz kapcsolódó választékot nyújtunk, például megrendelés, reklamáció, webmester
és cégvezető címet adunk meg. Szituációfüggő ugyan, de a cég alkalmazottainak szemé­
lyenkénti elérhetősége sokszor nem célravezető, hiszen a látogatót nem az érdekli, hogy
ki a vezérigazgató-helyettes, hanem a kérdését/problémáját szeretné kielégítően leren­
dezni.
Technikai oldalról érdemes azt is átgondolni, hogy nem jó megoldás az e-mail címet köz­
vetlenül a honlapon (a spam robotok számára elérhető módon) megjeleníteni. Ehelyett
egyre gyakrabban kapcsolatfelvételi űrlapot (22. ábra) szokás a honlapra elhelyezni.

22. ábra: Kapcsolatfelvételi űrlap

Online lehetőségek
Klasszikus visszajelzési lehetőségek közé tartozik a hozzászólási lehetőség, és bizonyos
esetekben a fórum vagy vendégkönyv is. Ma már azonban ennél sokkal több lehető­
ségünk van.
Sok látogató nem fogja a fáradságot venni, hogy hosszú szöveges válasz formájában rea­
gáljon a honlapra. (A szerző tapasztalatai szerint ezt a látogatóknak csak néhány százalé­
ka teszi meg.) Ennél – a látogatók részéről - sokkal kevesebb befektetést igénylő, ugyan­
3. A honlap megtervezése 27. oldal

akkor mégis hasznos információkkal szolgáló lehetőség a szavazás. (Itt ösztönző ténye­
ző lehet, hogy a szavazat „leadása” után szokás egy szavazási állást is megmutatni.)
A szavazás egy speciális esete az értékelés. Bizonyos közösségi oldalak központi szol­
gáltatása a látogatók által egy skálán, valamint szövegesen is értékelt áru/termék.
Tapasztalatok szerint egyes látogatók örömmel vesznek részt a tartalom előállításában
ajánlók beküldésével.

3.6. Részt vesznek-e a látogatóink a tartalom előállítá­


sában?
Az előbb említett ajánló klasszikus esete a link ajánlat beküldése.
A klasszikus fórum is tekinthető egyfajta közösségi támogatásnak, a wiki jellegű olda­
lak pedig az egész tartalom közös előállítására ösztönöznek.
Megfelelő motivációval (például pontrendszer; a „hónap dolgozója” mintájára a hónap
fórumozója) azonban a látogatók aktív részvételre ösztönözhetők.

3.7. Miben fog a tartalom és a szolgáltatás fejlődni (pl.


1 hónap, 1 év múlva)?
Ennek a kérdésnek elsősorban az a célja, hogy az esetleges jövőbeli továbbfejlesztések
időben kiderüljenek.
Itt is találó példát vehetünk az építőiparból: a több ütemben való építkezés esetén is meg
kell terveznünk az egész épületet, még ha nem is olyan részletességgel, mint az első üte­
met.
Fontos tehát, hogy a perspektívát is alaposan felmérjük. Így megkímélhetjük magunkat
hibás tervezési döntésektől, és így felesleges munkavégzéstől.

3.8. Ki fogja az oldalt karbantartani?


Nap mint nap könnyedén bukkanhatunk olyan céges weboldalakra, amelyeken jól lát­
szik a több-kevesebb gondossággal és több-kevesebb anyagi ráfordítással egyszer elké­
szített weboldal, de ugyanakkor süt a folyamatos karbantartás, aktualizálás hiánya32.
Az ilyen oldalak esetén a látogató hamar lemond a cégről is, amelyben nincs annyi igé­
nyesség, sőt előzékenység a látogatók felé, hogy a Friss hírek oldala ne egy hónapokkal
(évekkel?!) azelőtt lejárt érvényességű témával kezdődjön, az aktuális információk pedig
hiányozzanak.
A honlapok magára maradásának egyik jellemző oka, hogy nincs a honlapon megjelenő
hírekért felelőssé tett ember, esetleg maga a honlap is alkalmatlan a laikus (nem webfej­
lesztő) felhasználók által való aktualizálásra. Tisztáznunk kell tehát, hogy a honlap mely
részeinek kell változtathatónak lenni, mely részeit ki fogja karbantartani.

32
A web hőskorától Utolsó módosítás feliratokkal próbálták a fejlesztők / tulajdonosok bizonygatni az ol­
dal információtartalmának frissességét. Ma már csak kevés helyen találkozunk ezzel a nem sokat mondó
formulával, hiszen az esetek döntő többségében az oldal karbantartottsága (vagy annak hiánya) könnye­
dén látható.
28. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

3.9. Milyen csoportos és személyes jogosultsági körök­


re lesz szükség?
A jogosultsági köröket két részre kell bontanunk. A honlap látogatói és üzemeltetői alap­
vetően más célból fogják az oldalt felkeresni.
A látogatók esetén a legtipikusabb használati esetek:
 tartalmak megtekintése
 hozzászólások megtekintése,
 hozzászólás lehetősége
 fórum téma létrehozása
Mindezen esetekre minimálisan el kell dönteni, hogy regisztráció nélkül vagy csak re­
gisztráció és belépés után engedélyezzük. Esetleg a regisztrált látogatók jogait alcsopor­
tonként finomíthatjuk.
Üzemeltetők esetén tipikus feladatok (az elnevezések ettől eltérők is lehetnek):
 moderátor: a hozzászólások, fórumok tartalmi felügyelete
 hírszerkesztő: hírek beküldése, saját hírek szerkesztése
 szerkesztő: saját statikus oldalak szerkesztése, oldalak létrehozása
 adminisztrátor: majdnem33 mindent megtehet, amit a tartalomkezelő rendszer
megenged, például minden tartalmat szerkeszthet, felhasználói jogosultságokat
oszthat ki, stb.

3.10. Hol és hogyan szeretnék a honlapot az interneten


reklámozni?
A honlapunk kapcsolatok (bejövő linkek) nélkül lényegében elérhetetlen lesz a potenciá­
lis látogatók számára. Ezért elemi érdekünk, hogy jó minőségű, tartalmilag releváns ol­
dalakon próbáljunk a honlapunkra mutató linkeket elhelyeztetni.
Ehhez először is össze kell gyűjteni ezeket az oldalakat. Az összegyűjtött oldalakat a saját
honlapunkon is érdemes elhelyezni, pl. Ajánlott oldalak címmel. Ennek két oka:
 Egy honlap értékét növeli a témához kapcsolódó minőségi oldalak link gyűjtemé­
nye. (De itt a mennyiségnél sokkal fontosabb a minőség!)
 A másik oldal szerkesztőjét eleve azzal illik/érdemes megkeresni, hogy mi már ki­
tettük a linket, csak viszonzást szeretnénk kérni.
Természetesen a bejövő linkek érdekében az oldalakat olyan módon kell megtervezni és
kialakítani, amely a leendő hivatkozók számára is előnyös.

33
A szerző véleménye szerint mindenkinek csak annyi jogot szabad adni az oldalhoz, ami elengedhetetle­
nül szükséges. Éppen ezért még az „adminisztrátor” sem feltétlenül kell, hogy mindent megtehessen. Ha
egy oldal esetén a fejlesztő (egyeztetve a megrendelővel) kialakítja a látogatók jogosultságrendszerét, azt
jó eséllyel soha nem kell megváltoztatni, ezért felesleges a téves használat kockázatát felvállalva az oldal
tulajdonosának ezeket a jogokat átadni.
3. A honlap megtervezése 29. oldal

3.11. Látogatottsági statisztikákat szeretnének-e megis­


merni?
Igazából ez egy költői kérdés. Célja, hogy a megrendelő átgondolja: mennyire fontos in­
formációk nyerhetők ki a honlap látogatottsági statisztikáiból.
Ez azonban már egy újabb önálló szakterület, amely ismertetése túlmutat jegyzetünk le­
hetőségein.

A honlaptervezés következő lépését később, a 11. fejezetben tesszük meg.


30. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

4. Telepítés előtt
Előismeretként szükséges, hogy áttekintsük a web működésének alapjait.

4.1. A web működése


A következő ábra sokat segíthet a további információk megértésében.

23. ábra: A kliens-szerver architektúra

A felhasználó, aki a web szolgáltatásait ki akarja használni, megteheti ezt egy tetszőle­
ges modern webböngészővel. (E két „szereplőt” együttesen a kliens oldalnak tekint­
jük.)
A felhasználó a böngészőt használva kezdeményezheti egyes weboldalak letöltését. A
web kezdeti időszakában a webszerver azokat az állományokat tudta kiszolgálni, amiket
a háttértárain elhelyeztek. (Ez tulajdonképpen statikus tartalmat eredményez, vagyis
az ilyen tartalom jellemzően nem változik.)
Bizonyos esetekben ez ma is így van: például egy honlapba illesztett kép nem fog meg­
változni, akárhányszor töltjük is le, ezért a webszervernek a böngésző kérésére mindösz-
sze vissza kell adni azt válaszul.
Később egyre nagyobb igény lett a dinamikus tartalmak iránt, amikor a tartalom már
a látogató tevékenységei, vagy más okok miatt színesebb, változóbb lehet. Ebben az eset­
ben a webszerver nem önmaga válaszol a böngésző kérésére, hanem (leggyakrabban34)
PHP nyelvű program állítja elő a választ, amit a webszerver csak továbbít.
Tovább növelheti az oldal dinamizmusát, ha a tartalmak előállításához szükséges adato­
kat (legalább részben) adatbázisban tároljuk. Ekkor a PHP nyelvű forrásprogram az
adatbázis-szerverrel kapcsolatot épít fel, és adatbázisból származó információkat is fel­
használ a válasz elkészítéséhez, illetve a felhasználók válaszait is beépíti az adatbázisba.

34
Mivel jegyzetünk elsősorban a Drupalt ismerteti, ezért a szerver felépítését is a Drupalt kiszolgáló konfi­
gurációra specializáljuk. Más tartalomkezelő-rendszerek jelentősen eltérő konfigurációt igényelhetnek.
4. Telepítés előtt 31. oldal

4.2. Alapvető hardver és szoftver szükségletek


A jelenleg forgalmazott webtárhelyek többsége megfelel a Drupal 6.x verzió futtatása
alapvető követelményeinek. (Ingyenes tárhelyek többnyire alkalmatlanok az alapvető
futtatásra is, gyanúsan olcsó szolgáltatóknál pedig fejlesztés vagy üzemeltetés közben
fog kiderülni, hogy rosszul választottunk.) Ezen kívül akár a saját Windows vagy más
operációs rendszerrel meghajtott PC-nken is letesztelhető.
A saját gép szerverként való használatának egyik legnagyobb hátránya, hogy nehéz a
drupal.hu közösségétől segítséget kérni a tanulás kezdeti fázisánál.

Szerver
Az alábbi követelményeket a saját Windows alapú gépünkön (pl. XAMPP segítségével,
lsd. 5.1. fejezet), Linux alapú gépünkön saját konfigurálással és telepítésével könnyedén
teljesíthetjük. A lista inkább tárhely szolgáltató választásához lesz érdekes.
A minimális követelmények tehát (lásd 23.ábra):
 webszerver (Apache 2 )
 PHP 5.2 (az 5.3 nem alkalmas)
 adatbázis-szerver (MySQL 5)
 phpMyAdmin
(A tanuláshoz) nem nélkülözhetetlen, de ajánlott:
 mod-rewrite, .htaccess támogatás
 cron támogatás
 HTTP kérések engedélyezése (hogy a futó PHP kód más webodalak szolgáltatásait
igénybe tudja venni)
PHP konfigurációs követelmények:
 memória limit: 64-128Mb (a használni kívánt moduloktól függően)
 feltöltési méret: amekkorát a honlap célja megkövetel (minimum 8-16Mb)
 levélküldési lehetőség (PHP mail vagy SMTP támogatás)
 GD library
 kikapcsolt register_globals és safe_mode

Kliens
A munka nagy része a böngésző használatával fog zajlani. Itt is meg kell említeni, hogy a
szerző (és sok más webfejlesztő) véleménye szerint ehhez a Chrome35, Firefox36, Ope­
ra37 és Safari38 a legjobb választás.

35
http://www.google.com/chrome/
36
http://www.mozilla-europe.org/hu/firefox/
37
http://www.opera.com/
38
http://www.apple.com/safari/
32. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Ezen kívül néha szükség lesz valamilyen FTP kliensre az állományok szerverre feltöltésé­
hez. Erre a célra többnyire meg fog felelni a méltán népszerű Total Commander39.
(Még jobb, ha ismerjük a FileZilla40 alkalmazást.)

4.3. A Drupal felépítése


Drupal oldalunk építésekor a CMS motor központi mag része (core) és a kiegészítők
(contributions) között különbséget kell tennünk.

Drupal Motor
A Drupal alapfunkcionalitásait megvalósító alkalmazás. Már önmagában is rendkívül
sok szolgáltatással bír, mégis alapvetően az a feladata, hogy a különböző funkciókat ha­
tékonyan fogja össze. Garantált, hogy az itt található kódok alaposan teszteltek, az ese­
tek döntő többségében korrektek és használhatóak, valamint a Drupal alapkoncepciójá­
hoz illeszkednek. A felfedett hibákra igen gyorsan újabb kiadással reagálnak.

Kiegészítők
A Drupal közösség által beküldött kiegészítő funkcionalitások (modulok), kinézetek
(sminkek), felület fordítások és dokumentációk tartoznak ide. Jellegénél fogva nincs
olyan erős irányítás alatt, mint a motor, ezért nem csak tökéletesen működő kompo­
nenseket találhatunk itt. Sajnos előfordul, hogy a kiegészítők fejlesztője egy idő után
már nem tartja karban a a projektjét.
Körültekintéssel kell tehát a kiegészítőket használnunk.
Másrészt tudnunk kell, hogy a fejlesztők (mind a mag, mind a kiegészítők esetén) meg­
különböztetnek stabil és fejlesztői (dev jelöléssel ellátott) változatot. Az utóbbia­
kat csak óvatosan, nagy körültekintéssel szabad használni. (Tanuláshoz esetleg alkal­
mazhatók, de éles környezetben inkább korábbi, stabil változatot használjunk.)

39
http://totalcommander.hu
40
http://filezilla-project.org/
5. Szerver kialakítása 33. oldal

5. Szerver kialakítása
A Drupal tartalomkezelő a telepítést és a frissítést lehetővé tevő grafikus telepítővel
rendelkezik. Ennek működéséhez azonban célszerű egy megfelelő környezetet összeállí­
tanunk, amely a Drupal számára a lehető legjobb futási feltételeket biztosítja.
Egyáltalán nem mindegy, hogy a Drupal telepítését a saját, szerverré kinevezett gé­
pünkön (un. localhost-on) akarjuk végrehajtani, vagy egy tárhelyszolgáltatónál.
Előbbi esetben (megfelelő szakértelemmel) gyors hatást tudunk gyakorolni a rendszer
konfigurációjára, a szükséges beállításokat (pl. fájl jogosultságok megadása) hamar el
tudjuk végezni. Utóbbi esetben viszont lehet olyan szerencsénk, hogy a beállítások meg­
felelnek a telepítéshez, és így akár könnyebb dolgunk is lehet; előfordulhat azonban,
hogy a rendszergazdával kell egyeztetnünk bizonyos módosítások érdekében.
Tanuláshoz (először) az első eset ajánlható. Nézzük meg, hogyan tudjuk a Windows (5.1.
fejezet) illetve Linux (5.2. fejezet) alapú gépünket szerverré alakítani.

5.1. Az XAMPP integrált telepítő csomag


Mivel a szerver alkalmazások önálló telepítése nem mindig egyszerű feladat, próbálkoz­
hatunk előre csomagolt, és minden szükséges alkalmazást telepítő és bekonfiguráló
programokkal is. Ezek közül csak egyet nézünk meg közelebbről, a többi alkalmazása
hasonló41. A szolgáltatások körében lehetnek jelentősebb eltérések is.
A szerző által (Windows használata esetén) leginkább ajánlott csomag az XAMPP42. En­
nek segítségével ki tudunk alakítani egy a Drupal számára megfelelő futtatókörnyezetet
(szervert).

5.1.1. Telepítés
A letöltött telepítőprogram lényegében a telepítéskor szokásos kérdéseket teszi fel. Leg­
fontosabb a telepítés helye (24. ábra).

41
A http://www.szgti.bmf.hu/~gtoth/wiki/index.php/Drupal_telepítés_és_konfigurálás oldalon a
WAMP szerverrel és az az alatti Drupal telepítéssel ismerkedhetünk.
42
http://www.apachefriends.org/
34. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

24. ábra: A telepítés helye

A telepítés után a Start menüből és parancssorból is vezérelhetjük az alkalmazásokat, de


legegyszerűbb az XAMPP Control Panel alkalmazása. A 25. ábrán látható, hogy az
Apache és a MySQL futtatását kell kezdeményeznünk.

25. ábra: XAMPP Control Panel

A telepítés után a feltelepült rendszer kipróbálása és a MySQL jelszó megadása célszerű


a Security oldalon. Gépeljük be a böngészőnk címsorába a localhost elérési útvonalat.
5. Szerver kialakítása 35. oldal

26. ábra: MySQL jelszó megadása

Adjuk meg a MySQL root nevű felhasználójának (általunk kitalált) jelszavát. Ha nem
változtatjuk meg, akkor marad az üres jelszó.

5.1.2. Alap konfigurálás


Érdemes még megemlíteni, hogy a webszerver a telepítéskor megadott könyvtáron (24.
ábra) belül létrejött az xampp/htdocs alkönyvtár. E könyvtár tartalmát tekintjük a web­
szerver dokumentum-könyvtárának, vagyis (elsősorban) e könyvtár tartalmát tudja a
webszerver statikus vagy dinamikus módon kiszolgálni.

27. ábra: Az xampp\htdocs könyvtár telepítés után


36. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

A Drupal kipróbálásához itt érdemes például egy drupal nevű alkönyvtárat létrehozni.
Ebben az esetben a Drupal a localhost/drupal címen lesz elérhető a böngészőnkből. E
megoldás előnye még, hogy így több alkönyvtárban több drupal oldalt párhuzamosan
helyezhetünk el, és a phpMyAdmin alkalmazás is elérhető marad a localhost/phpmyad­
min címen.
Szintén egyszerűen kezelhető megoldás, ha a htdocs könyvtárat átnevezzük valami más­
ra, és mi magunk hozzuk létre az üres htdocs könyvtárat. Ekkor a Drupal a localhost cí­
men lesz elérhető a böngészőnkből. (Ekkor a PhpMyAdmin elérése problémás lehet.)

5.1.3. További konfigurálás


Apache szerverünk finomabb konfigurálása az xampp\apache\conf\httpd.conf állo­
mány szerkesztésével végezhető. Szerkesztés után a webszervert mindenképpen újra kell
indítanunk (Stop, majd Start, 25. ábra).

Másik könyvtár használata


Keressük meg a DocumentRoot bejegyzést, és írjuk át a könyvtár elérési útvonalát arra,
amelybe a web oldalunkat fejlesztjük. (Fontos, hogy a Unix világában szokásos hagyo­
mányos / jelet, és ne a fordított \ jelet használjuk!)
Eredeti állapot például:
DocumentRoot "C:/Program Files/xampp/htdocs"
Új állapot például:
DocumentRoot "C:/munka/wwwroot"
Ezen kívül még keressük meg a
<Directory "C:/Program Files/xampp/htdocs">
sort, és ezt is cseréljük le:
<Directory "C:/munka/wwwroot">

Rövid webcímek használata


A gyökér könyvtár engedélyeit is az új könyvtárra kell megadni. Ezért keressük meg a
konfigurációs fájlban a
LoadModule rewrite_module modules/mod_rewrite.so
sort, és ha # (megjegyzés) jellel kezdődik, töröljük azt.

5.2. Telepítés Linux alatt


Telepítéshez43 mindenképpen a disztribúció saját csomagkezelőjét érdemes használni.
Telepítsük a következő csomagokat:
 apache2
 php5
 mysql-server

43
További információk: pl. http://tanarurkerem.hu/node/57
5. Szerver kialakítása 37. oldal

 php5-mysql
 phpmyadmin
 php5-gd
Ubuntu esetén pl. a /var/www könyvtár a beállított DocumentRoot.

5.3. Letöltés
A http://drupal.hu oldalról le kell töltenünk a Drupal alap és a nyelvi csomag legfris­
sebb verzióit44:

28. ábra: A telepítőcsomag letöltése

A letöltött állományok .tar.gz kiterjesztésétől nem kell megijedni: Total Commanderrel


lényegében ugyanolyan egyszerűen kezelhető tömörített formátum, mint a jól
ismert .zip.

5.4. Kitömörítés localhost-ra


Ha a saját gépünket szerverré alakítottuk, akkor a htdocs alkönyvtárban korábban (27.
ábra) létrehozott drupal alkönyvtárba fogjuk bemásolni a tömörített állomány tartal­
mát. Keressük meg tehát Total Commanderrel az alkönyvtárunkat.
A másik panelben keressük meg a letöltött állományunkat, lépjünk bele a tömörített ál­
lományba kétszer, majd az alkönyvtárba is, jelöljük ki a fájlokat és alkönyvtárakat, majd
másoljuk át azokat a htdocs/drupal alkönyvtárunkba. Végeredményként ehhez hasonlót
kell látnunk (29. ábra).

44
2009 nyarán ez a 6.13-as verziót (drupal-6.13.tar.gz) és az 6.x-es fordítást (hu-6.x-1.0.tar.gz) jelentette.
38. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

29. ábra: Kitömörítés után

Ugyanebbe a könyvtárba kell kitömörítenünk a magyar fordításban kapott fájlokat is.


A magyar csomag úgy van kialakítva, hogy egyrészt a meglévő Drupal könyvtárrendszer­
be helyezi saját fájljait, másrészt egy új telepítési profilt is ad a rendszerhez.
A tömörített fájl paneljén keressük meg a fordítás állományát is, és ugyanide másoljuk
át a három könyvtárat:

30. ábra: Nyelvi fájlok kitömörítése

Ennek eredményeképpen egy olyan könyvtár struktúrát kell kapnunk, amelyben a Dru­
pal alapcsomagjának könyvtárai és fájljai mellett a magyar csomagban érkezett nyelvi ál­
lományoknak is meg kell jelennie. A továbbiakban az itt látható (webről elérhető) könyv­
tárat nevezzük Drupal könyvtárunknak.

5.5. Fájlok feltöltése távoli szerverre


E megoldás elsősorban akkor javasolható, ha a saját gépen beüzemelt Drupal működte­
tésében bizonyos gyakorlatot szerzünk. Legelső alkalommal inkább az előző megol­
dást érdemes kipróbálni.
Mielőtt tovább haladnánk, érdemes megállni egy kérdésre:
5. Szerver kialakítása 39. oldal

5.5.1. Miért nem jók az ingyenes szolgáltatók?


Az ingyenes szolgáltatók által nyújtott tárhely általában egyszerű weboldalak tesztelésé­
re alkalmas. A szolgáltató igazából csak egyfajta ismertséget akar magának szerezni
ezen az áron. Nekik nem az elégedett ügyfél a céljuk, hanem sok olyan ügyfél, aki az
ingyenes szolgáltatás hiányosságait felismerve, fizetős szolgáltatásra vált át.
A Drupal használatához sok speciális paraméterrel kell rendelkezni a szervernek. Ezek
közül a legtöbb ingyenes szolgáltatónál jó néhány nem teljesül. Még ha kisebb-nagyobb
problémákon átverekedve magunkat, sikeresen telepítenénk is a Drupalt, az oldal kiala­
kítása közben egyre nagyobb eséllyel futunk bele valamilyen komoly korlátba.
Ráadásul a szolgáltató semmilyen garanciát nem vállal arra, hogy a szolgáltatás akár
még egy hét múlva is üzemelni fog45, vagy hogy nem változtat meg olyan rendszerbeállí­
tásokat, amelyek a Drupal futtatásához elengedhetetlenek.

5.5.2. FTP kapcsolat


Szükségünk lesz egy FTP programra, amivel a fájlokat fel tudjuk tölteni a szerverre. Ez
nem probléma, a Total Commander el tudja látni az FTP kliens feladatát.
(Mivel minden szolgáltató más és más adminisztrációs felületet alkalmaz, és a kapcsoló­
dási információkat is máshogyan közli, ezért itt csupán illusztrációs példákat tudunk kö­
zölni.)
A Total Commanderben létre kell hoznunk egy FTP kapcsolatot. (Ezt később több­
ször is használhatjuk, de most egyszer létre kell hoznunk.) Ehhez keressük meg az esz­
köztár FTP gombját. A felugró ablakon hozzunk létre egy Új kapcsolatot (31. ábra).

31. ábra: Új FTP kapcsolat létrehozása

45
A CWI 2008-ban egy csapásra megszüntette a hasonló szolgáltatását.
40. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Kapcsolat neveként bármit megadhatunk, ez a kapcsolatok közötti későbbi eligazodá­


sunkat segíti. A kiszolgáló neve, felhasználói név és jelszó a regisztrációkor/szerződés­
kötéskor válik elérhetővé.
Ha sikeresen beállítottuk az FTP kapcsolatunkat, akkor a Kapcsolódás gombbal felépít­
hetjük az FTP kapcsolatot, és másolhatjuk is az állományainkat a szerverre.
Szolgáltatótól függően, van, amikor az FTP bejelentkezés után a gyökér könyvtárunkba
kell másolni az állományokat, de igen gyakori, hogy egy public_html nevű könyvtárba.
Meg kell még jegyezni, hogy egyes szolgáltatóknál további probléma lehet azzal, hogy a
fájlok feltöltése után nincs jogunk annak a jogait változtatni(pl. 644 helyett 444 beállítá­
sa46). Ebben az esetben ezt a lehetőséget a szolgáltatóval kell egyeztetni.

5.6. Az adatbázis előkészítése


Amennyiben saját gépünket használjuk szerverként, mindenképpen létre kell hoz­
nunk a Drupal számára egy adatbázist.
E művelet az XAMPP részeként feltelepülő phpMyAdmin segítségével könnyedén meg­
oldható. Adjuk meg az adatbázis nevét, és hozzuk létre az adatbázist:

32. ábra: Adatbázis létrehozása

Az adatbázishoz a root nevű felhasználó jelszó nélkül hozzáférhet, ha a telepítés után


(26. ábra) nem adtunk meg jelszót.
Ha szolgáltatónk biztosítja számunkra az adatbázist, akkor a szolgáltatótól kell meg­
tudnunk a használható adatbázis nevét, illetve a műveletek végzésére jogosult felhaszná­
ló nevét és jelszavát.

46
Elméleti háttér pl.: http://xubuntu.hu/xubuntu/dokumentacio/desktopguide/hu/linux-
basics.html#permissions
6. Telepítés 41. oldal

6. Telepítés
Miután előkészítettük a fájlrendszert és az adatbázist, már csak a webes telepítőt kell
futtatnunk, amely beállítja a Drupal számára a használt adatbázist, felhasználót, illetve
létrehozza az alapértelmezésben alkalmazott adatbázis-szerkezetet. Ennek elindításához
látogassunk el webböngészőnkkel a http://example.com/drupal/install.php címre, ahol
a http://example.com/drupal/ annak a hosztnak illetve könyvtárnak webszerveren elér­
hető címe, ahova a fájlokat előkészítettük. (Saját gépünk esetén például http://localhost
vagy http://localhost/drupal lesz a szerver címe.)

6.1. Nyelv választás


Ha a magyar nyelvi fájlokat is felmásoltuk (30. ábra), akkor most egy nyelvválasztó kép­
ernyő fogad bennünket angol nyelven (33. ábra).

33. ábra: Nyelv választás

Innentől kezdve magyarul szól hozzánk a telepítő. Ha valamit elrontottunk az előkészí­


tésben, akkor itt fog figyelmeztetni (34. ábra) bennünket arra, hogy addig nem folytat­
hatjuk a telepítést, amíg a hibát el nem hárítjuk.

6.2. Settings.php és files


A telepítés folytatásához a sites/default/default.settings.php állományról készítünk
másolatot ugyanoda settings.php néven. Nagyon fontos, hogy nem átnevezni kell az ál­
lományt! Ha a másolást elmulasztjuk, a következő hibaüzenetet kapjuk (34. ábra).
42. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

34. ábra: Előfeltételi probléma

Ugyanott hozzunk létre egy /sites/default/files alkönyvtárat, és mindkettőt tegyük írha­


tóvá. Az érdemes újra próbálkozni linkkel indítsuk újra az ellenőrzést.

6.3. Adatbázis-kapcsolat
A korábban ismertetett lépéseket követve azonnal az adatbázis-beállító képernyőt kell
kapnunk (35. ábra). Az elérhető adatbázis-kezelők listáját (mysql, mysqli, pgsql) csak
akkor látjuk, ha a telepítő többféle lehetőséget is felderít. (Az ábrán nincs lista.)
Kezdjük az „Alapvető beállítások” csoporttal. Legtöbb esetben a webszervert tartalmazó­
gépen (localhost) találjuk az adatbázis kiszolgálót is (a szolgáltató adja meg a pontos in­
formációkat), és nem használunk speciális portot vagy táblázat név előtagokat. (Ez utób­
bit akkor célszerű alkalmazni, ha az adatbázisunkat más célra is szeretnénk használni.)
Ilyenkor a haladó beállításokkal nem kell törődni, csak a használt adatbázis típust, adat­
bázis nevet, felhasználói nevet és jelszót kell megadni a korábban beállított vagy a szol­
gáltatótól kapott adatok szerint.
Továbblépve a rendszer megpróbálja ellenőrizni, hogy minden szükséges adatbázis mű­
velet elvégezhető-e. Ha a telepítéshez elengedhetetlen műveletek valamelyikére a meg­
adott adatbázis felhasználó nem jogosult, vagy valamilyen adatot hibásan adtunk meg,
akkor erre figyelmeztet, és a hibát meg kell oldanunk. Ha minden előzetes beállítást el­
végeztünk, akkor a telepítő létrehozza az adatbázis tábláinkat, és a magyar nyelvű felü­
lethez szükséges szövegeket is az adatbázisba tölti.47

47
Ennek hátterében a Drupal 5-ig a magyar fejlesztésű autolocale modul áll. A Drupal 6-os óta ez a funk­
ció beépült a rendszermagba.
6. Telepítés 43. oldal

35. ábra: Adatbázis beállítás

6.4. Webhely beállítása


A telepítő varázsló következő lépése sokrétű, de csak egyszer beállítandó információkat
vár a honlapról.
Először is egy fontos figyelmeztetéssel találkozhatunk (36. ábra). A korábban másolással
létrehozott settings.php állományt csak olvashatóvá kell tennünk a honlapunk biztonsá­
ga érdekében. (Windows alatt pl. az Írásvédett tulajdonság beállítása szükséges.) Ez az
üzenet mindaddig jelen lesz az adminisztrációs oldalainkon, amíg az állományt megfele­
lően be nem állítjuk.

6.4.1. Webhely információk


A weboldal neve nemcsak az oldal felső részén, a logó mellett jelenik meg, hanem a bön­
gésző címsorában is.
Az email cím mezőben megadott cím fog feladóként szerepelni minden olyan levélben,
amelyet a rendszer küld (pl. regisztrációkor), ezért erre a címre fog válasz is érkezni a lá­
togatók részéről. Fontos tehát, hogy érvényes címet adjunk meg.
44. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

36. ábra: Webhely beállítása

6.4.2. Adminisztrátor felhasználó


Létre kell hoznunk egy felhasználót, amely a továbbiakban minden jogosultsággal ren­
delkezni fog a rendszer adminisztrációját illetően. Ő lesz az első számú felhasználó48.
Először a kívánt felhasználói nevet és email címünket kell megadnunk (37. ábra). A meg­
adott felhasználónév a belépéshez lesz szükséges, de a további látogatók is ezen a néven
fognak bennünket látni. (Itt érdemes hangsúlyozni, hogy a magyar helyesírás szabályai
szerint érdemes a nevünket leírni.) Az e-mail cím nem fog az oldalon publikusan megje­
lenni, maga a Drupal rendszer azonban küldhet rá üzeneteket. Ezen kívül a kapcsolati
űrlapon keresztül feladott üzenetek lesznek erre a címre elküldve.
A jelszó megadásánál egyből értékelést is kaphatunk a jelszavunk „erősségét” illetően.
(Érdemes a lehető leginkább követni az olvasható információkat, hiszen egy Drupal
rendszer esetén az adminisztrátor jelszava a honlap feletti teljes hatalmat jelenti.)

48
Adatbázis-szinten is ő az 1-es kódú (UID, user ID) felhasználó.
6. Telepítés 45. oldal

37. ábra: Adminisztrátor felhasználó

6.4.3. Webszerver beállítások


Az alapértelmezett időzónát a látogatóközönség zömének időzónája szerint érdemes be­
állítani (38. ábra).
Megjegyzés: Érdemes belegondolni, hogy a webszerver időzónája nem feltétlenül esik
ezzel egybe, és az egyes látogatók között is lehetnek eltérések.
A szerző által üzemeltetett egyik magyar nyelvű honlap látogatóinak közel 15%-a más
időzónából érkezik.
Ha a webszerverünk szolgáltatásai lehetővé teszik, érdemes a rövid webcímek használa­
tát engedélyezni. (Ennek célja a ?q= webcím résztől való megszabadulás.)
Ha nem tudjuk kiválasztani az Engedélyezett lehetőséget, a szolgálatatás megfelelő mű­
ködése érdekében a webszerver konfigurálásához kell nyúlnunk. (Ez jellemzően a rend­
szergazda feladata, és túlmutat a jelen jegyzet keretein is.).
Megjegyzés: E hiányossággal még tökéletes lesz a honlap működése, csak az útvonala­
ink lesznek kissé zavaróak.
46. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Végül a frissítési figyelmeztetéseket is érdemes bekapcsolva tartani, hogy az újabb, hiba­


javító verziók megjelenése esetén a hibákat egyből orvosolni is tudjuk.
Megjegyzés: Ez a szolgáltatás ingyenes tárhelyszolgáltatóknál többnyire nem elérhető,
mert a http kérések nem engedélyezettek.

38. ábra: Webszerver beállítások

A telepítés sikeresen befejeződött (39. ábra).

39. ábra: A telepítés elkészült

Most már a működő webhelyre léphetünk (40. ábra).


6. Telepítés 47. oldal

40. ábra: A telepítés után

Az ábra bal oldalán a Navigáció nevű bal oldali menüblokk jelent meg, bár bejelentke­
zett felhasználóként a blokk címeként az azonosítónkat (az ábrákon Nagy Gusztáv) lát­
hatjuk. Itt érhetjük el a mostantól sokat használt Adminisztráció menüpontot és alme­
nüit.
Ha most ismét megnézzük az adatbázisunkat a PhpMyAdmin segítségével, jól látszik,
hogy az adatbázis már nem üres, hanem több tucat adattáblát tartalmaz. Ezek a táblák
teszik lehetővé a tartalmak beküldését, felhasznáklók kezelését, stb.

6.4.4. Jogosultságok
A továbbiakban rendszeresen fel fogjuk sorolni a modulokhoz kapcsolódó jogosultságo­
kat. Ezek használatáról a 12.3. fejezetben olvashatunk. Az első ismerkedés alkalmával
ezekkel még nem kell sokat foglalkoznunk.
A System modul beállítható ide kapcsolódó jogosultságai:
 adminisztrációs oldalak hozzáférése: ki használhassa az admin oldalakat
 webhely beállítások adminisztrációja: ki tudja az admin/settings/site-informa­
tion oldalt használni
48. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

7. Első lépések
A telepítés befejeztével elvégezhetjük azokat a lépéseket, amelyeket az oldalunk testre­
szabása érdekében teszünk.

7.1. Kezdeti problémák


Amikor megkíséreljük első alkalommal megtekinteni a webhely adminisztrációs (ad­
min)49 oldalát, biztosan egy piros dobozban írt figyelmeztetés fogad majd bennünket az
oldal tetején (41. ábra). Ez figyelmeztet arra, hogy még nincs minden rendben a Drupal
webhelyünk beállításával.

41. ábra: Adminisztráció oldal

Amíg a fennálló problémákat meg nem szüntetjük, minden adminisztrációs oldalon látni
fogjuk ezt az üzenetet.
Érdemes még itt megemlíteni, hogy a Feladatonkénti csoportosítás mellett – főleg az
egyes modulok alaposabb megismerésének igénye esetén – érdemes kipróbálni a Modu­
lonkénti (admin/by-module oldal) bontást is.

7.1.1. Állapotjelentés
Nézzük először az Állapotjelentést. Rendszerhiba esetén az adminisztrációs oldal tetején
kapunk egy figyelmeztetést (41. ábra).
Az állapotjelentés oldal a rendszer korrektül működő és hibás jellemzőire egyaránt rá­
mutat (42. ábra).

49
A továbbiakban az adminisztrációs oldalak relatív URL-jét zárójelben közöljük.
7. Első lépések 49. oldal

42. ábra: Állapot jelentés hibákkal


7.1.2. Fájlrendszer
Előfordulhat, hogy a fájlrendszerhez kapcsolódó hibaüzenetet kapunk a telepítéskor. Ek­
kor kattintsunk a felajánlott fájlrendszer beállítások (admin/settings/file-system) link­
re, és a megoldás már meg is érkezik, amennyiben van joga könyvtárat létrehozni a web­
szervert futtató felhasználónak (43. ábra). Amennyiben nincs, a korábban ismertetett
módon „kézzel” kell azt létrehoznunk, és esetleg a jogokat beállítanunk50.

50
Különösen ingyenes szolgáltatóknál gyakori, hogy e kézi beállításokra sincs jogosultságunk. De ha fize­
tős szolgáltatónál fordul elő, akkor kérni kell az ügyfélszolgálaton, hogy „a webszerver ugyanazon felhasz­
náló nevében fusson, mint az FTP-n bejelentkező tulajdonos”.
50. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

43. ábra: Fájlrendszer beállításai

Be kell állíthatjuk az ideiglenes fájlok könyvtárát is. Ez az a hely, ahova a feltöltött fáj­
lok kerülnek az előnézet során, és szintén írhatónak kell lennie a webszerver számára.
(Linux alatt erre a célra a /tmp könyvtár szolgál: a könyvtár tartalmát bármikor, indok
nélkül törölheti pl. a rendszergazda.)
Sok esetben azonban ez nem lesz megfelelő, mert a /tmp könyvtárban nem lesz jogunk
alkönyvtárat létrehozni, pedig egyes modulok ezt igényelnék. Emiatt inkább a sites/de­
fault/tmp könyvtárat érdemes használnunk.
Végül választhatunk a nyilvános vagy a privát letöltési mód között. Mi a különbség?
 Nyilvános letöltési mód esetén a HTML forráskód direkt linket tartalmaz az ál­
lományra, így azt bárki le tudja tölteni a link ismeretében.
 Privát letöltési mód esetén az állomány tartalmát egy PHP oldal szolgálja ki, így
illetéktelenek nem jutnak hozzá a fájl közvetlen címéhez. Ha azonban teljes biz­
tonságot szeretnénk, a files könyvtárat a dokument root-on kívül kell elhelyez­
nünk. Privát módot akkor érdemes választani, ha bármilyen letöltendő állomány­
nál esetleg elő fog fordulni, hogy nem mindenki számára szeretnénk elérhetővé
tenni, vagy épp a letöltések számát szeretnénk megtudni. Ha egyik ok miatt sem
szükséges módosítanunk, hagyhatjuk a nyilvános beállítást.
Figyelem: ezt a beállítást a rendszer működése közben (ha már csatoltunk állományt va­
lamelyik tartalomhoz) nem célszerű megváltoztatni, mivel ennek módosítása problémá­
kat okozhat. (A letöltési módot hiába állítjuk vissza publikussá, attól a fájlok nem lesz­
nek elérhetőek. Fordítva pedig: a nem megfelelő files beállítások esetén hiába rejtjük el a
már feltöltött fájlokat, attól az még nem fog átkerülni a biztonságos (document root-on
kívüli) helyre.
7. Első lépések 51. oldal

7.1.3. Időzített feladatok


Egy webhely karbantartása során gyakran felmerülnek olyan feladatok, melyeket rend­
szeresen végre kell hajtani. A Drupal például rögzíti a rendszerben történt fontosabb
eseményeket és az azokhoz kapcsolódó információkat. Ha ez az eseménynapló folyama­
tosan csak nőne, akkor az adatbázisunk kezelése feleslegesen lassulna, a rendelkezésre
álló hely pedig egy idő után elfogyna. Ezért célszerű időről-időre kitörölni a régebbi nap­
lóbejegyzéseket.
Természetesen még számos ilyen időzített feladat van illetve lehet egy Drupal webhe­
lyen, például a változott tartalmak újraindexelése a kereső számára, vagy egy bizonyos
időpontban megjelenítendő tartalom közzététele a Scheduler modul segítségével.
Az alapproblémát egy böngészőből történő futtatás (42. ábra, az időzítő böngészőből is
futtatható) időlegesen megoldja. De keressük meg a teljes megoldást is.
A Drupal modulok időzített feladatait a cron.php futtatja le, melynek neve a Unix/Linux
rendszereken elérhető cron51 szolgáltatás nevére utal. Amennyiben kiszolgálónkon elér­
hető ez a szolgálatatás, akkor érdemes ennek segítségével beállítani, hogy adott időkö­
zönként lefusson a cron.php. Attól függően, hogy milyen szolgáltatónál helyeztük el
webhelyünket, különböző módja lehet az időzített feladatok beállításának. Lehetséges,
hogy e-mailben kell felkeresnünk a rendszergazdát, előfordulhat, hogy webes felületen
tudjuk menedzselni az időzítéseket (ilyen még akár ingyenes szerveren is előfordulhat).
Példaként nézzünk meg egy adminisztrációs felületet, más szolgáltatók hasonló adatok
megadását engedélyezhetik (44. ábra).

44. ábra: Cron beállítás egy szolgáltatónál

51
„A cron egy háttérfolyamat, amely szabályos időközönként programo(ka)t futtat (például: minden perc­
ben, naponta, hetente vagy havonta).” Forrás: http://wiki.hup.hu/index.php/Cron
52. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Ha semmilyen módon nem tudjuk a cront futtatni, akkor egy kevésbé elegáns megoldás­
sal (Poormanscron modul) is megoldhatjuk. (A megoldást a 15.14. fejezetben mutatjuk
be.)

7.2. Webhely karbantartás


Ha a honlapot nyilvános helyen fejlesztjük, célszerű azt offline állapotba helyezni, és
csak a honlap publikálható állapotba kerülésekor visszahelyezni online állapotba (45.
ábra). De modul frissítéskor, vagy biztonsági mentés készítésekor is ajánlott az oldalt a
nyilvánosság számára leállítani. Ilyenkor egyedül az adminisztrátor használhatja az ol­
dalt.

45. ábra: Karbantartás

Mindezt a Webhely karbantartás (admin/settings/site-maintenance) oldalon tehetjük


meg (46. ábra). Az offline kapcsolón túl a látogatók számára megjelenítendő üzenetün­
ket is megfogalmazhatjuk. A szerző személyes véleménye szerint nagyon zavaró, ha egy
ilyen üzenetben nem szerepel az időpont, amikortól a honlap ismét üzemel majd. Célsze­
rű ezért legalább hozzávetőlegesen meghatározni a nyitás időpontját.
7. Első lépések 53. oldal

46. ábra: Karbantartás

Az oldal offline állapotára folyamatosan figyelmeztet bennünket a Drupal oldalunk:


minden oldal tetején olvashatjuk az Offline módú működés feliratot.
Az offline állapotnak még „veszélye” az is, hogy kilépés után maga az adminisztrátor sem
fog tudni a szokásos módon belépni, hiszen a nyitóoldalon csak az előbb megfogalma­
zott üzenet olvasható, nincs lehetőség a belépésre. Ezért érdemes megjegyezni, hogy ha
bármilyen szituációban begépelhetjük a ?q=user szöveget a honlap URL-jének végére a
böngészőnk cím sorába, máris kapunk egy belépési lehetőséget.
Megjegyzés: A szerző saját oldalán sokáig nem is jelent meg a belépésre használható
oldalsó blokk, hanem csak az erre az útvonalra illesztett menüpont Belépés címmel.

7.3. Webhely információk


A Webhely információk (admin/settings/site-information) adminisztrációs oldal né­
hány beállítását már telepítéskor megtehettük (név, e-mail cím; 36. ábra), ezen azonban
utólag változtathatunk, illetve néhány további jellemzőt beállíthatunk (47. ábra).
54. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

47. ábra: Webhely információk

A következő három mező (Jelmondat, Küldetés, Lábléc üzenet) sminkfüggő, hogy meg­
jelenik-e a publikus oldalakon. Bizonyos sminkek megjelenítik ezeket a szövegeket az ol­
dalon, mások nem. A jelmondat egyes sminkeknél a cím alatt, másoknál a böngésző
címsorában jelenik meg. A küldetés a címlapon szokott megjelenni, a hírek felett.
A névtelen felhasználó megnevezése (pl. Névtelen vagy Vendég) névtelen hozzászólá­
soknál lesz érdekes, ugyanis az oldalunk név híján ezt a szót fogja a tartalom vagy meg­
jegyzés „tulajdonosaként” megjeleníteni.
A node alapértelmezett címlapot csak akkor szokás megváltoztatni, ha a kezdőoldalt
nem a friss hírekkel akarjuk megtölteni. Szokás itt egy konkrét tartalmat, (pl. node/1)
vagy egy másféle listázást megvalósító nézetet (Views modul) megjeleníteni.
8. Tartalmak 55. oldal

8. Tartalmak
A tartalomkezelő rendszerek legalapvetőbb fogalma a tartalom. Ilyen értelemben e feje­
zet sok olvasó számára talán a legfontosabb lesz.

8.1. Beviteli formák


A tartalomkezelő rendszerek egyik alapvető célja, hogy a tartalom előállításához ne le­
gyen szükség komolyabb webfejlesztői ismeretekre. Ezért a tartalom felviteléhez, formá­
zásához a felhasználók számára olyan segítséget kell nyújtani, ami a szövegszerkesztők
használatához hasonló, de azért ne adjon lehetőséget az oldal dizájnjának „tönkretételé­
hez”.
A beviteli formák (admin/settings/filters) a felhasználók által megadható szövegek kü­
lönböző feldolgozási módjait határozzák meg. A szűrők (vagyis a Filter modul) alkalma­
zását illetően minden beviteli forma saját lehetőségekkel rendelkezik, segítségükkel töb­
bek közt kiszűrhetők a rosszindulatú HTML elemek, vagy automatikusan kattinthatóvá
tehetők a beírt webcímek (48. ábra).

48. ábra: Beviteli formák

Tartalom beküldésekor a felhasználók a számukra megfelelő beviteli formát választhat­


ják ki az engedélyezettek közül. (Sok esetben a felhasználóknak nincs választási lehető­
ségük, csak egyféle beviteli forma engedélyezett a számukra.)
56. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

A beviteli formák használata csoportokhoz köthető, és egy alapértelmezett forma is kivá­


lasztható, amely minden látogató számára elérhető lesz. Ezért célszerű alapértelmezett­
ként a lehető legkevesebbet megengedő formát választani.

8.1.1. Alapértelmezett beviteli forma


Először a Filtered HTML formát állítsuk be (beállítás művelet).
A nevet érdemes magyarítani (54. ábra), ha szélesebb felhasználói rétegnek lesz lehető­
sége több féle beviteli forma közül választani.

49. ábra: Beviteli forma felhasználói

Az engedélyezett csoportokat itt nem szűkíthetjük, hiszen az alapértelmezett formának


mindenki számára elérhetőnek kell lennie.
A HTML-szűrő segítségével korlátozható a felhasználók HTML beküldési lehetősége, ezt
mindjárt finomhangolni is fogjuk. Az URL szűrő átalakítja a web és email címeket kat­
tintható linkekké, hagyhatjuk ezt is bekapcsolva. Végül a HTML korrektort is hagyjuk
meg, hiszen a hibás HTML kódjainkat próbálja javítani.
A későbbiek folyamán külső modulok újabb bekapcsolható szűrőket adhatnak a beviteli
formákhoz. Az 50. ábrán két ilyen (GeSHi filter és Hide email addresses) feliratú szűrőt
is láthatunk.
8. Tartalmak 57. oldal

50. ábra: Szűrők ki-be kapcsolása a beviteli formáknál

8.1.2. A beviteli formák finomhangolása


A Beállítás fülön elvégezhetjük a finomhangolást is. Most mindössze egyetlen beállítást
változtassuk meg: Az Engedélyezett HTML elemek közé (az ott lévők előtt, vagy után)
vegyük fel a következőket (51. ábra):
<h3> <h4> <p> <br> <table> <tr> <th> <td> <img> <div> <spam>
Így az alapértelmezetten elég csupasz formázási lehetőségeket komolyabban kibővítet­
tük a hosszabb szöveges oldalaknál elengedhetetlen címek, bekezdések, valamint a táb­
lázatok és képek beviteléhez.

51. ábra: Engedélyezett HTML elemek

A további beállítások megváltoztatására csak speciális esetekben van szükség.

8.1.3. Jogosultságok
A filter modul beállítható jogosultsága:
 szűrők adminisztrációja: ki tudja a szűrőket adminisztrálni
58. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

8.2. Tartalmak beállításai


Mielőtt tényleges tartalommal töltenénk fel a honlapunkat, állítsuk be a tartalmaink jel­
lemzőit is. Ezen az oldalon először is beállíthatjuk, hogy pl. a kezdőoldalon hány tarta­
lom előzetes (tipikusan hír) jelenjen meg egyszerre (52. ábra). Itt a 10 egy szokásos ér­
ték, általában nem szükséges megváltoztatni.

52. ábra: Tartalmak alapbeállításai

A bevezető hossza szintén egy általában megfelelő 600-as értéket tartalmaz, nem szük­
séges megváltoztatnunk. (A HTML tartalmi egységeket nem fogja „kettévágni” ez a ha­
tár, tehát ténylegesen nem 600 karakter lesz a bevezető hossza.) Ha ez az automatikus
vágás nem megfelelő a számunkra, az egyes tartalmak beküldésekor magunk dönthe­
tünk a bevezető pontos hosszáról.
Az előnézet szükségességét érdemes bekapcsolni. Ennek hatására a felhasználónak a tar­
talom beküldésekor mindenképpen meg kell néznie a készülő oldal előnézetét. Ez külö­
nösen kezdő felhasználók esetén fontos.52

8.3. Tartalom típusok


A tartalom típusok (admin/content/types) arra szolgálnak, hogy a különböző jellegű
tartalmakat logikailag el tudjuk egymástól különíteni, illetve a későbbi munkát a jellem­
zőik testreszabásával jelentősen meggyorsítani. (Hamarosan látni fogjuk ennek előnye­
it.)
Alapértelmezetten a Drupal két tartalomtípust tartalmaz: Írást és Oldalt. E kettő között
az alapbeállítások szempontjából az az egyetlen különbség, hogy az Írás alapértelmezet­

52
A szerző egyedül az oldal kezdő-, a mások számára nem elérhető fázisában szokta kikapcsolni a gyor­
sabb tömeges feltöltés érdekében.
8. Tartalmak 59. oldal

ten megjelenik a kezdőoldalon, az időbeli aktualitással rendelkező tartalmak között, míg


az Oldal alapértelmezetten nem.
A szerző véleménye szerint általában célszerű, ha az Írást átnevezzük Hírre, kifejezve
annak időponthoz szorosan kapcsolódó jellegét (53. ábra), az Oldal elnevezés alatt pedig
a statikus, ritkán vagy soha nem változó oldalakat (például Kapcsolat) viszünk fel, ame­
lyeket a menü fix helyén teszünk elérhetővé.

53. ábra: Írás-ból Hír tartalomtípus

A Név mezőn kívül állítsuk be a Típust is, és adjunk egy rövid Leírást is a leendő felhasz­
nálóinknak. Például: Időponthoz kötött tartalmak számára. Ez a szöveg a tartalom be­
küldésekor (55. ábra) jelenik meg.

Beküldési űrlap beállítások


A Cím és Törzs elnevezéseket sokszor nem szükséges módosítani, bár időnkét érdemes.
A Törzs elhagyásával a tartalmi rész kiiktatható53. A további beállítások magukért beszél­
nek (54. ábra).

53
Ennek most még nem sok értelme látszik, de később, a CCK modulok használatánál (18. fejezet) találha­
tunk rá célszerű példákat.
60. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

54. ábra: Beküldési űrlap beállítások

Általános beállítások
Az Alapértelmezett beállítások a majdan beküldendő minden egyes tartalom alapértel­
mezése lesz. Persze a tartalmak adminisztrációja jogosultsággal rendelkező felhaszná­
lók módosíthatják ezeket a beállításokat az egyes tartalmak beküldésekor.
A Közzétett kapcsoló azt határozza meg, hogy a beküldött tartalom a nyilvánosság szá­
mára elérhető-e. Ha ezt kikapcsoljuk, akkor tulajdonképpen piszkozatot, félkész tartal­
mat hozunk létre, amit persze később megváltoztatva a tartalom publikussá válik. Itt, az
Alapértelmezett beállításoknál (hacsak nem akarunk erős moderációt alkalmazni) ezt
nem kell kikapcsolnunk.
A Hír és az Oldal között itt következik a leglényegesebb különbség: a Címlapra kerül
kapcsoló befolyásolja, hogy a tartalom alapból kikerüljön-e a címlapra, vagy ne. Hírnél
ezt persze hagyjuk bekapcsolva.
A címlapon az oda kerülő tartalmak alapértelmezetten fordított időrendben jelennek
meg, vagyis a legfrissebb hír legfelül. Ez alól kivételt tehetünk: ha bekapcsoljuk a Ki­
emelt, az oldal tetejére kapcsolót, akkor a címlapra kerülő tartalmak időrendjénél erő­
sebb sorrendiséget is alkalmazhatunk.
Az Új verzió készítése kapcsoló akkor hasznos, ha a tartalom módosításakor meg akar­
juk őrizni az előző verziót is, hogy esetleg később vissza lehessen rá térni. Enélkül egy
tartalom módosítása végérvényesen felülírja az előző verziót.
Ha több nyelvű oldalt szeretnénk létrehozni, akkor célszerű a Több nyelv támogatása.
Enélkül az ehhez a típusoz tartozó tartalmakat nem tudjuk több nyelvre lefordítani.
A Csatolmányokat is engedélyezhetünk a tartalomtípusunkhoz.
A Hozzászólások beállításaival a 13.2. fejezetben foglalkozunk.
8. Tartalmak 61. oldal

Egyes modulok további beállítási lehetőséget is megjeleníthetnek.


Az eddigiek alapján módosíthatjuk az Oldal tartalomtípusunk beállításait is, elsősorban
a szövegeket. A későbbiekben pedig találkozni fogunk más tartalomtípusokkal is, mint
pl. Könyv, Blogbejegyzés, Fórum téma, sőt magunk is definiálhatunk egyedi tartalomtí­
pusokat54.

8.4. Tartalom beküldése


Sok előkészítés után elérkeztünk oda, hogy beküldjük az első, tesztelésre szolgáló tartal­
munkat.
Az eddigi ábrákon is jól látható volt a Navigáció nevű bal oldali menüblokk, bár beje­
lentkezett felhasználóként a blokk címeként az azonosítónkat (az ábrákon Nagy Gusz­
táv) láthattuk. Itt most a Tartalom beküldése menüponton kell kattintanunk. Mind a
menüben, mind az oldalon választhatunk a rendelkezésre álló tartalomtípusok közül
(55. ábra). Ez utóbbinál megjelenik a korábban megadott leírásunk is.

55. ábra: Tartalom beküldése

A kipróbálás kedvéért küldjünk be egy hírt a honlap fejlesztésével kapcsolatban (56. áb­
ra). Elsőre csak a hír címét és törzsét töltsük ki.

56. ábra: Hír beküldése

54
Ennek elsősorban a CCK modulok használata esetén lesz jelentősége.
62. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Az Előnézet gombbal lépjünk tovább.

57. ábra: Hír előnézete

Jól látszik a Közzétételi beállításoknál, hogy a Hír tartalomtípusnál beállítottak szerint a


Közzétett és a Címlapra kerül kapcsoló be van kapcsolva. Ezt akár felül is bírálhatjuk55
erre a hírre nézve: kapcsoljuk ki a Közzétett kapcsolót. Végül a Beküldés gombbal ment­
sük el a hírünket.
A mentett hír innentől kezdve létezik (Az oldal fejlesztése elindult Hír létrejött., 58. áb­
ra). Ha korábban egy másik oldalra navigáltunk volna, akkor a félkész tartalmunk elve­
szett volna. Emiatt a tartalom beküldésekor nagy figyelemmel kell dolgoznunk, illetve a
példánkhoz hasonlóan csak piszkozatként (nem Közzétett) is beküldhetjük a tartalmat,
amit később tovább bővíthetünk, majd közzétehetünk.

58. ábra: A hír létrejött

Jól látszik az ábrán, hogy a tartalmaink megtekintésekor az alapértelmezett Megtekintés


mellett szerepel a Szerkesztés lehetősége is. Ez utóbbi hatására visszajutunk a szerkesz­
tési felülethez, ahol módosítani, bővíteni, törölni, illetve a hír teljes elkészülésekor köz­
zétenni tudjuk azt.
Ez utóbbit próbáljuk is ki: a Szerkesztés gomb után a Közzétett kapcsolót kapcsoljuk be,
majd Beküldés.
Végül érdemes megemlíteni, hogy a Követés fül akkor elérhető, ha a Hozzáférési napló­
ban ezt engedélyezzük.

55
Más tartalombeküldők esetén nem biztos, hogy engedélyezni fogjuk az alapbeállítások módosítását. Pél­
dául erre a lehetőségre építve megoldható, hogy a beküldött híreket a szerkesztő moderálni tudja.
8. Tartalmak 63. oldal

8.5. A tartalmak megtekintése


Jogos az igényünk, hogy a beküldött tartalmainkat a későbbiekben is bármely látogató
megtalálhassa. Ha azonban vadul elkezdünk kattintgatni a honlapunkon, nem mindig
egyszerű a hírünket megtalálni.

8.5.1. Címlap
Természetesen azok a tarlalmak, amelyek a Címlapra kerül jelzővel küldünk be, a címla­
pon (egész pontosan a node útvonalon, ami alapértelmezetten a címlap beállítása is) je­
lenik meg az első, vagy valamelyik további oldalon.

8.5.2. Tartalmak keresése


Természetesen van más lehetőségünk is egy tartalom megkeresésére. Korábban is lát­
tunk már, hogy a honlapunkon elérhető egy Keresés mező, amiben kulcsszavak alapján
kereshetünk. Természetesen itt csak a publikus és már leindexelt tartalmaink között ke­
reshetünk.
A jelen esetben a legkézenfekvőbb a Tartalom (admin/content/node) menüpont, ahol
listázhatjuk, szűrhetjük az eddigi tartalmakat.

59. ábra: Tartalmak listázása, szűrése

A táblázatban közvetlen szerkesztési linket is találhatunk (Műveletek). Ha sok tartalom


között kell keresnünk, jól fog jönni a különböző lehetőségek (az ábrán állapot és típus)
szerinti szűrési lehetőség.
A Frissítési lehetőségek között válogatva akár csoportosan is végezhetünk műveleteket a
tartalmainkkal (Frissítés).
A teszt hírünket most már kikapcsolhatjuk, vagy akár véglegesen törölhetjük is.

8.6. Jogosultságok
A Node modul beállítható jogosultságai:
64. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

 tartalmak hozzáférése: ki tudja a tartalmakat megtekinteni (csak az összes tarta­


lomra egységesen adható jog)
 tartalom típusok adminisztrációja: ki tudja a tartalomtípusokat szerkeszteni
 tartalmak adminisztrációja: ki tudja a tartalmak beküldőjét, dátumát, közzétett,
címlapra kerül stb. jelzőjét állítani
 create * content: ki tudjon * típusú tartalmat beküldeni
 delete any * content: ki tudja bármelyik * típusú tartalmat törölni
 delete own * content: ki tudja a saját * típusú tartalmait törölni (az előző jog rész­
halmaza)
 edit any * content: ki tudja bármelyik * típusú tartalmat szerkeszteni (a törlés
nincs benne)
 edit own * content: ki tudja a saját * típusú tartalmait szerkeszteni (az előző jog
részhalmaza; a törlés nincs benne)
 delete revisions: ki tudjon verziókat törölni
 visszatérés korábbi verzióra: ki tudjon egy előző verzióra visszaállni (ettől seme­
lyik nem fog törlődni)
 verziók megtekintése: ki láthatja az egyes verziókat és adatait
9. Az alaprendszer moduljai 65. oldal

9. Az alaprendszer moduljai
A Drupal alapvető funkcióit a modulok segítségével lehet kibővíteni. Az
admin/build/modules oldalon lehet engedélyezni a már telepített modulokat. (Most
egyenlőre csak az alaprendszer egyes moduljaival foglalkozunk. Az alaprendszer további
moduljaival a későbbi fejezetekben fogunk találkozni. A kiegészítő modulok telepítése és
alkalmazása szintén későbbi témánk lesz.)
Egyes modulok igényelhetik más modulok engedélyezését. Pl. a Forum modul Com­
mentek nélkül értelmetlen lenne.
Az engedélyezést követően a modul beállításához az Adminisztráció (admin) menü
megfelelő (moduloktól függően más-más) menüpontját (menüpontjait) kell kiválasztani.
Egy engedélyezett modul új felhasználói jogosultságok beállítását is igényelheti.
Az alaprendszer szükséges (vagyis kikapcsolhatatlan) moduljait csak egy gyors lista ere­
jéig vegyük szemügyre:

60. ábra: Alaprendszer szükséges modulok

A lista jól mutatja, mik azok az alapszolgáltatások, amit minimálisan kell tudni egy tar­
talomkezelő rendszernek.
A többi modul ki-be kapcsolása egyszerű művelet: a Modulok (admin/build/modules)
oldalon a jelölőnégyzet segítségével, majd a beállítások mentésével véglegesíthetjük.
Természetesen a modulok bekapcsolás után még konfigurációt is igényelhetnek.

Modulok használatba vétele


Most pedig nézzük meg az alaprendszer „nem szükséges” moduljait. (Talán érdemes úgy
gondolni ezekre a modulokra, hogy ugyan nem létszükséglet a használatuk, de többségü­
ket igen gyakran alkalmazzuk.) A sorrend kicsit önkényes, más beállítási sorrendek is lo­
gikusak lehetnek.
Az alaprendszer moduljai esetén követni kell a tipikus három lépést:
1. A modult használat előtt engedélyezni (bekapcsolni) kell.
66. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

2. Konfigurálni kell a rendszert.


3. Használni.

9.1. Az Aggregator modul


A modul RSS, RDF és Atom formátumú megosztott tartalmak olvasását teszi lehetővé.
További információk a 14.6. fejezetben olvashatók.

9.2. A Blog modul


A modul segítségével könnyen és rendszeresen frissíthető felhasználói blogok hozhatók
létre. További információk a 14.4. fejezetben olvashatók.

9.3. A Blog API modul


A modul lehetővé teszi tartalmak beküldését XML-RPC alapú blog szerkesztő alkalma­
zásokkal.

9.4. A Book modul


A Book modul segítségével a tartalmainkat (node-okat) hierarchiába szervezhetjük
(mint egy könyv fejezetei és alfejezetei). A Book alapmodul engedélyezése után megjele­
nik a book tartalomtípus, amelynek újdonsága lesz a plusz hierarchia szerinti navigáció
felépítése és alkalmazása. (A Book tartalomtípust célszerű átnevezni Könyvlapra.)
A Könyvlap beküldésekor megjelenik (Könyv vázlat, 61. ábra) egy lista, amely segítségé­
vel az alapértelmezett lehetőséget módosíthatjuk.

61. ábra: Könyvlap beküldése

Nézzük a választási lehetőségek jelentéseit:

<nincs> a könyvlap önálló (mint mint minden eddigi node is)

<új könyv létrehozása> ez a könyvlap lesz egy új könyv gyökere

további lista a már létező könyvek közül választhatunk


9. Az alaprendszer moduljai 67. oldal

A további lista választása esetén az adott könyv eddigi lapjainak listáját láthatjuk, mint
az új könyvlapunk lehetséges szülő-lapjait (62. ábra).

62. ábra: A könyvlap szülő-lapjának beállítása

A Book modul lehetőségei ezen is túlmutatnak: Többféle típusú tartalmat bevihe­


tünk a könyv-hierarchia alá. Az admin/content/book/settings oldalon konfigurálhatjuk
a modul működését. Megadhatjuk, hogy mely tartalomtípusok lehetnek könyv részei, és
mi legyen az alapértelmezett gyermek lap típus (63. ábra).
68. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

63. ábra: A Book beállításai

A tartalom Vázlat menüpontjának segítségével tudjuk a megfelelő típusú tartalmakat


könyv részévé tenni (64. ábra). Természetesen ettől a lépéstől a tartalom eredeti típusa
nem változik meg, nem válik Könyvlap típusúvá.

64. ábra: Tartalom bevitele a könyv-hierarchiába


9. Az alaprendszer moduljai 69. oldal

A könyvlapok közötti navigáció is plusz lehetőségeket hozott: Egy könyvlap esetén a


gyermek-lapok, a szülő-lap, valamint az előző és következő fejezetek is linket kaptak (65.
ábra).

65. ábra: Könyvlapok közötti navigáció

A kész könyvlap esetén megjelenik a Gyermek lap hozzáadása szerkesztési link is, ami­
vel az aktuális könyvlaphoz hozhatunk létre aloldalt.
A Nyomtatóbarát változat nem csak az aktuális könyvlapot, hanem az összes leszárma­
zottat is egyetlen nyomtatható weboldallá fűzi össze.
A blokkok között megjelenő Könyv navigáció blokk nagyon szépen áttekinthető menüt
ad a navigációhoz. Így egy jól szervezett könyv-hierarchia különösebb menükészítés nél­
kül is jól navigálhatóvá tehető.

9.4.1. Jogosultságok
A modul beállítható jogosultságai:
 nyomtatóbarát változat hozzáférése: ki tudja a könyvlap és gyermekeit egyetlen
nyomtatóbarát oldalként megtekinteni (és akár kinyomtatni)
 tartalom könyvekhez csatolása: ki tudja az általa szerkeszthető tartalmakat beil­
leszteni valamelyik könyvbe
 könyv-vázlatok adminisztrációja: ki tud tetszőleges (pl. általa nem szerkeszthe­
tő) könyvlapokat létező könyvbe illeszteni
 új könyvek létrehozása: ki tudja a saját tartalmánál az <új könyv létrehozása>
sort kiválasztani
70. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

9.5. A Color modul


A modul lehetővé teszi bizonyos sminkek színeinek átállítását. További információk a
16.2. fejezetben olvashatók.

9.6. A Comment modul


A modul lehetővé teszi a hozzászólást látogatók illetve felhasználók számára. További in­
formációk a 13.2. fejezetben olvashatók.

9.7. A Contact modul


A modul személyes és webhely szintű kapcsolatfelvételi űrlapokat biztosít.
A weboldalakon régóta fontos igény, hogy a látogatók kapcsolatba tudjanak lépni a web­
oldal tulajdonosával, vagy a honlap más szereplőjével. Ezt hagyományosan az e-mail cím
közzétételével tehetjük meg. Amióta azonban spammelési célokból gyűjtik a címeinket,
ez egy felelőtlen megoldás. Vannak ugyan jó-rossz megoldások, de a legbiztosabb a Con­
tact modul által is képviselt megoldás: az e-mail cím el se jut a kliens gépre. A kapcsolat­
felvételi űrlap (22. ábra) segítségével úgy küldhető az e-mail címünkre üzenet, hogy a
megfelelő mezők kitöltésével, és a honlap részére beküldve, a szerver56 fog az e-mail
tényleges elküldéséről gondoskodni.

9.7.1. Webhely szintű kapcsolati űrlap


Az admin/build/contact oldalon (66. ábra) a már létrehozott címzettjeinket (kategóriák)
tekinthetjük át. (Célszerű céges honlap esetén a látogató számára érthető megnevezése­
ket, és nem neveket alkalmazni.)

56
Nem minden szerver alkalmas a levélküldésre, a részleteket a szolgáltatónktól tudhatjuk meg.
9. Az alaprendszer moduljai 71. oldal

66. ábra: A Kapcsolat űrlap beállításai

Természetesen a Kategória hozzáadása segítségével újabb címzetteket vehetünk fel, vagy


a szerkesztés linkekkel a már létező címzetteket módosíthatjuk (67. ábra).
72. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

67. ábra: Címzettek szerkesztése

Magyarázatra egyedül a Kiválasztott szorul: a látogató a címzettek listájában alapértel­


mezetten ezt látja kiválasztottnak.
A kapcsolat űrlap általános beállításai (admin/build/contact/settings) oldalon található
beállítások (68. ábra) közül szintén csak az utolsóhoz szükséges magyarázatot fűzni.
A regisztrált felhasználók saját maguk eldönthetik, hogy a saját címükre szeretnének-e
üzenetet fogadni a látogatók részéről. E beállítás a jövőben regisztráló látogatók alapér­
telmezett beállítása lesz, amit természetesen módosíthatnak igényük szerint.
9. Az alaprendszer moduljai 73. oldal

68. ábra: Kapcsolat általános beállításai

9.7.2. Jogosultságok
A modul beállítható jogosultságai:
 webhely szintű kapcsolat űrlap elérése: ki tudja használni a kapcsolat űrlapot
 webhely szintű kapcsolat űrlap adminisztrációja: ki tudja adminisztrálni az űrla­
pokat
Érdemes itt megjegyezni, hogy a regisztrált látogatók maguk dönthetik el, akarják-e má­
sok számára közzétenni az űrlapjukat.

9.8. A Database logging modul


A modul a rendszer által kiadott üzeneteket naplózza az adatbázisba. A modul bekapcso­
lása után elérhető lesz három új adminisztrációs menüpont.
A Legutóbbi napló bejegyzések (admin/reports/dblog) oldalon a rendszer üzeneteit lis­
tázhatjuk, szűrhetjük (69. ábra).
74. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

69. ábra: A Legutóbbi napló bejegyzések listája

A legtöbbet látogatott nem található oldalak (admin/reports/page-not-found) és A


legtöbbet látogatott tiltott oldalak (admin/reports/access-denied) oldalak segítségével
törött linkeket, illetéktelen használatot stb. fedezhetünk fel.

9.9. A Forum modul


A modul szálakkal követhető eszmecseréknek biztosít teret.
További információk a 14.2. fejezetben olvashatók.

9.10. A Help modul


A modul a súgók megjelenítését biztosítja.
9. Az alaprendszer moduljai 75. oldal

A Súgó (admin/help) oldalon minden modulról kaphatunk egy rövid áttekintést (70. áb­
ra).

70. ábra: Súgó adminisztrációs oldal

9.11. A Locale és Content translation modulok


A Locale modul nyelv kezelési képességekkel ruházza fel a rendszert, lehetővé téve a fel­
használói felület angoltól eltérő nyelvre fordítását és nyelvek tartalmakhoz rendelését. A
Content translation modul tartalmak különböző nyelvekre fordítását teszi lehetővé.
Ha a jegyzetben bemutatott módon, vagyis a magyar nyelvű telepítési fájlokat feltöltve,
magyarul telepítjük (33. ábra) a Drupalunkat, akkor a magyar telepítési profil miatt ele­
ve elérhető, használható lesz a magyar nyelv, és ez is lesz az alapértelmezett. Emiatt tud­
juk a Drupalunkat magyar nyelven használni a telepítéstől kezdve. A magyar telepítési
profil tehát eleve bekapcsolja nekünk a Locale modult, és alapértelmezett nyelvként a
magyart állítja be. Erről magunk is meggyőződhetünk a Nyelvek (admin/settings/lan­
guage) oldalon (71. ábra).
76. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

71. ábra: Engedélyezett nyelvek listája

9.11.1. A Locale modul elmélete


Először is érdemes leszögeznünk: minden Drupal oldal első megközelítésben angol nyel­
vű felülettel működik. Az angol felület működik, működőképes és teljes akkor is, ha eset­
leg magyar nyelvet is engedélyezzük, sőt alapértelmezettnek állítjuk be, vagy akár az an­
golt nem engedélyezetté tesszük. A felszín alatt tehát mindig egy angol nyelvű műkö­
dés áll, ami elfedhető az előbbi módon, és így a látogató tisztán magyar oldalt lát maga
előtt.
A Drupal alaprendszer és jobb esetben a kiegészítő modulok, sminkek úgy készülnek,
hogy az oldal működési kódja és a megjelenő szöveges elemek egymástól logikailag el­
választva jönnek létre57. Így nincs annak akadálya, hogy a teljes felület, 100%-ban for­
dítható legyen egy adott nyelvre.
Amikor a telepítés során felmásoltuk a szerverünkre a magyar nyelvi fájlokat, akkor ez
az elkülönülés tetten is érhető. Ha belenézünk például a modules/block/translations
könyvtárba, akkor láthatjuk a modules-block.hu.po állományt. Ez az a fájl, amelyben a
Block alapmodul felületi szövegeinek magyar megfelelői találhatók. Nézzünk meg ebből
néhány sort:
#: modules/block/block-admin-display-form.tpl.php:42
msgid "Region"
msgstr "Régió"

57
Ez a megfogalmazás tudatosan pontatlan, laikus felhasználóknak szól. De jelen esetben a jegyzet céljai­
nak jobban megfelel, mint a programozói megközelítés.
9. Az alaprendszer moduljai 77. oldal

#: modules/block/block-admin-display-form.tpl.php:57
msgid "No blocks in this region"
msgstr "Nincs blokk a régióban."
#: modules/block/block.admin.inc:85
msgid "Save blocks"
msgstr "Blokkok mentése"
Ennek a modulnak a fordításai a telepítéskor bekerülnek az adatbázis megfelelő táblái­
ba, így eleve magyarul tudjuk használni. (Ezeket a fájlokat hiába változtatjuk tehát utó­
lag, az a rendszer működésére nem lesz hatással.)

Fontosabb fordítási lehetőségek


Ha egy kiegészítő modult veszünk használatba, és a modul eleve tartalmazza a ma­
gyar nyelvi fájlokat, akkor (legalább részben) magyar nyelven lesz elérhető. Igen sok mo­
dul van, amelynek fordítását ilyen módon használhatunk, sokszor azonban ez a fordítás
nem teljes.
A http://forditas.mindworks.hu/ oldalt is érdemes megismerni. Ha ott megtaláljuk58 a
modulunk fordítását, akkor azt ugyanúgy bemásolhatjuk a megfelelő helyre (a transla­
tions könyvtár tartalmát a szerveren levő modul translations könyvtárába), és a telepí­
tés közben a fájlok tartalma bekerül az adatbázisba.
A Felület fordítása (admin/build/translate/search) oldalon kézi fordítást végezhe­
tünk. Először keressünk rá a le nem fordított szövegrészre (72. ábra).

58
A http://forditas.mindworks.hu/translate/languages/hu/export oldalt kell keresnünk.
78. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

72. ábra: Felület fordítása

Ideális esetben a találati listában (73. ábra) hamar rátalálunk a keresett szövegre, és a
szerkesztés link után már írhatjuk is a fordításunkat. Érdemes azonban megjegyezni,
hogy ez a módszer nem a legszerencsésebb, érdemes az ábrán is látható megjegyzést fi­
gyelembe venni.
9. Az alaprendszer moduljai 79. oldal

73. ábra: Felület fordítás találati lista

Harmadik módszerként nézzük meg az importálást is. Akár mi készítjük az import ál­
lományt, akár a http://forditas.mindworks.hu/translate/languages/hu/export oldalról
töltjük le, az admin/build/translate/import oldalon kell a .po kiterjesztésű nyelvi állo­
mányunkat feltölteni (74. ábra).
80. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

74. ábra: Fordítás importálása

Végül meg kell jegyezni, hogy ezzel a módszerrel csak a felület, és nem a tartalmak
lesznek többnyelvűek.

9.11.2. Többnyelvű tartalmak


A többnyelvű publikus felület mellett gyakori igény, hogy a honlap egyes 59 tartalmai több
nyelven is elérhetőek legyenek. Ennek alapvető eszköze a Content translation modul.
Tartalom típusonként engedélyezhetjük, hogy lehessenek-e többnyelvűek az adott típu­
sú tartalmak. Ilyen tartalmak beküldésénél kiválaszthatjuk, hogy mi legyen a tartalom
nyelve. Ha többnyelvű tartalmat akarunk használni, mindenképpen az angol nyelvűt ér­
demes először beküldeni, és csak az után a további nyelvekét. A beküldés után pedig a
tartalom felső menüje kiegészül a fordítások összehangolására szolgáló Translate gomb­
bal.

59
A teljes tartalom többnyelvűvé tétele ritkán oldható meg. Például egy fórum kérdést, vagy egy hozzászó­
lást ki fordítson le?
9. Az alaprendszer moduljai 81. oldal

75. ábra: Fordítások áttekintése

A többnyelvű weboldalak kialakításához fontos olvasmány lehet Hojtsy Gábor60 Multil­


ingual Web Applications with Open Source Systems című szakdolgozata.

9.11.3. Jogosultságok
A modulok beállítható jogosultságai:
 nyelvek adminisztrációja: ki tudjon egy adott nyelvet engedélyezni
 felület fordítása: ki tudja a felület fordításokat szerkeszteni
 tartalom fordítása: ki tudjon a tartalmakhoz fordításokat rendelni

9.12. A Menu modul


A modul lehetővé teszi navigációs menük egyedi beállítását.
További információk a 11.2. fejezetben lesznek.

9.13. Az OpenID modul


A modul lehetővé teszi a felhasználók számára, hogy OpenID-vel is be tudjanak lépni a
webhelyre.

9.14. A Path modul


A modul lehetővé teszi az alapértelmezett webcímek elfedését álnevekkel.
Az útvonal (Path) modullal a Drupal webcímeihez álnevek rendelhetőek. Ezek az álne­
vek javíthatják a webcímek olvashatóságát, és segíthetnek az internetes keresőknek a
tartalom hatékony indexelésében61.
Keresőoptimalizálási okokból érdemes az oldalak kettőzését (vagyis hogy két különböző
címen ugyanaz a tartalom érhető el) elkerülni. Erre nagyszerű megoldást ad a Global­
Redirect külső modul. Ezt minden esetben érdemes a Path modullal együtt használni.

60
http://hojtsy.hu/
61
Ez a sokat emlegetett és sokszor félremagyarázott SEO egyik fontos alapelve.
82. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Néhány példa az útvonal álnevekre:

user belepes

image/tid/16 tajkepek

taxonomy/term/7+19+20+21 aruhaz/termekek/kiegeszitok

node/3 kapcsolat

A Path modul a megfelelő jogosultsággal rendelkező felhasználók számára egy kiegészítő


mezőt (76. ábra) jelenít meg a tartalmak beküldési és szerkesztési űrlapján, mely segítsé­
gével a tartalom útvonalát elfedő álnév közvetlenül megadható. Emellett saját felületet
nyújt a már meglévő álnevek megtekintésére és szerkesztésére.

76. ábra: Útvonal álnév tartalom beküldésekor

Így az Adminisztráció/Útvonal álnevek (admin/build/path) oldalt közvetlenül ritkán


használjuk, akkor is elsősorban áttekintő listaként.
A későbbiekben (15.13. fejezet) látni fogjuk, hogy kiegészítő modul (pl. Pathauto) segít­
ségével az útvonal álnevek egységes rendszerben és automatikusan generálhatók.

9.14.1. Jogosultságok
A modul beállítható jogosultságai:
 útvonal álnevek létrehozása: ki tudjon a tartalom beküldésénél útvonal álnevet
megadni
 útvonal álnevek adminisztrációja: ki tudjon bármelyik tartalom útvonal álnevén
változtatni

9.15. A PHP Filter modul


A modul beágyazott PHP forráskódok futtatását teszi lehetővé.

9.16. A Ping modul


A modul értesít más webhelyeket a tartalom frissüléséről.
9. Az alaprendszer moduljai 83. oldal

9.17. A Profile modul


A modul testre szabható felhasználói profilok létrehozását támogatja.
További információk a 14.1. fejezetben olvashatók.

9.18. A Search modul


A modul kulcsszavas keresést tesz lehetővé a webhely teljes tartalmában.
A keresés funkciót (Search modul) csak akkor érdemes mellőzni, ha a fejlettebb keresési
lehetőségre62 van szükségünk. A teljes szövegben kereséssel hasznos szolgáltatást nyújt­
hatunk (77. ábra).

77. ábra: Keresés űrlap

A kereső modul kulcsszavak kereshetőségével ruházza fel a rendszert. Egy nagy webhe­
lyen a kereső használata gyakran az egyetlen módja egy tartalom megtalálásának. A ke­
reső segítségével felhasználók és tartalmak egyaránt megtalálhatóak kulcsszavak alap­
ján.
A keresőmotor a webhelyen közzétett tartalmak és felhasználói adatok alapján felépített
index segítségével működik. A modul beállításaival szabályozható az index feltöltésének
módja. Az időzítő (cron) beállítása és rendszeres futtatása szükséges a kereső működésé­
hez.
Az admin/settings/search oldalom végezhetjük el a finomhangolást (78. ábra).
Az index százaléka adja meg az időzítő egyszeri lefutásakor leindexelendő tartalmak szá­
mát. Az érték alacsonyra állításával elkerülhető, hogy az időzítő túllépje a maximális fu­
tási időt, vagy kifogyjon a rendelkezésre álló memóriából.

62
Sok esetben a Google keresőbe való átirányítás jó választás lehet. De vannak saját, kontrollált keresési
lehetőséget megvalósító külső modulok is. Ezek használata viszont nem egyszerű.
84. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Az alapbeállításokhoz képest talán a sorba rendezés szempontjainak súlyozását érdemes


átgondolni. Pl. egy technológiai honlapnál nagyobb, míg egy botanikai honlapnál kisebb
súllyal érdemes a közzététel frissességét figyelembe venni.

78. ábra: Keresés beállításai


9. Az alaprendszer moduljai 85. oldal

Megjegyzés: A modul csak egész szavakat indexel, így szótöredékekre sajnos nem tu­
dunk vele keresni.

9.18.1. Jogosultságok
A modul beállítható jogosultságai:
 tartalmak keresése: ki tudja a keresési űrlapot használni
 haladó kereső használata: ki tudja a részletes keresés (search/node és
search/user) oldalakat használni
 keresés adminisztrációja: ki tudja a modul beállításait szerkeszteni

9.19. A Statistics modul


A modul nyilvántartja a webhely olvasottsági adatait.
A modul bekapcsolása után a Hozzáférési napló beállításai (admin/reports/settings)
oldalon tudunk néhány beállítást megtenni (79. ábra).

79. ábra: Hozzáférési napló beállításai


86. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

A hozzáférési napló a látogatók oldallátogatásait rögzíti, és a beállított idő után törli. (A


törléshez szükséges a cron megfelelő működése.) Ennek megtekintését általában az ad­
minisztrátoroknak tartjuk fenn. A megtekintést akár tartalmanként (Követés fül,
node/*/track), akár látogatónként (Tartalmak követése, user/*/track; Oldal látogatá­
sok követése, user/*/track/navigation) végezhetjük. Szintén adminisztrációs célokból
elérhetőek a Jelentések (admin/reports) menü egyes új pontjai (pl. Legutóbbi megte­
kintések, Népszerű oldalak, Gyakori látogatók).
A látogatottsági adatokhoz akár névtelen látogatóknak is adhatunk jogosultságot.

9.19.1. Jogosultságok
A modul beállítható jogosultságai:
 olvasottságmérő megtekintése: ki láthassa a tartalmak letöltésének számát
 olvasottsági adatok hozzáférése: ki láthassa, hogy ki és mikor nézett meg egy ol­
dalt

9.20. A Syslog modul


A modul a Drupal által kiadott üzeneteket naplózza a rendszer naplóba.

9.21. A Taxonomy modul


A modul tartalmak kategorizálását teszi lehetővé.
A szabad szavas címkézéssel a felhasználók a tartalom beküldésekor (ahogy számos kö­
zösségi link gyűjtő oldalon vagy blog oldal esetében) hozhatnak létre kifejezéseket. A kö­
tött szótárakat használva az adminisztrátorok előre meghatározott kifejezések összetett
struktúráját hozhatják létre, az egyes kifejezések között többszörös kapcsolattal. Ezek a
kategóriák eltérő tartalomtípusokhoz rendelhetőek és más modulokkal összekapcsolha­
tók a tartalmak eltérő osztályozás szerinti megjelenítésének érdekében.
Minden taxonómia-kifejezés (amely különböző helyeken gyakran „kategória” vagy „cím­
ke” formában van említve) a rá illeszkedő tartalmakból automatikusan nyújt egy lista-ol­
dalt illetve egy RSS csatornát. Ezek az URL-ben taxonomy/term formában szerepelnek:
Pl. a http://nagygusztav.hu/?q=taxonomy/term/44 oldal a szerző Drupal témájú híreit
listázza. Az oldalak szűrőfeltételei kombinálhatóak is.
 A taxonomy/term/63+42 oldal a taxonomy/term/63 és a taxonomy/term/42
listák elemeit (vagyis az uniót) listázza.
 A taxonomy/term/63,42 oldal a taxonomy/term/63 és a taxonomy/term/42 lis­
ták közös elemeit (vagyis a metszetet) listázza.
A kifejezések szülő-gyermek viszonyba rendezhetők az adminisztrációs felületen ke­
resztül, amely támogatja a többszörös öröklődést is. Ilyen esetben a következő szintaxis
is használható:
 A taxonomy/term/4/ALL a 4-es kódú kifejezés, és annak minden gyermek kifeje­
zése közös listáját (vagyis azok unióját) mutatja.
A taxonómia modul támogatja a kifejezések egymáshoz való viszonyának tárolását és a
szinonimák definiálását, de ezek a funkciók közvetlenül nem, csak kiegészítő modulok
révén használhatóak.
9. Az alaprendszer moduljai 87. oldal

A már létező szótárakat a Taxonómia (admin/content/taxonomy) oldalon nézhetjük


meg (80. ábra). Szótárat mi magunk is létrehozhatunk, de egyes modulok is létrehozhat­
ják a saját szótárukat. (Az ábrán a Forum, Image Gallery és Simplenews modulok által
létrehozott három szótár is megfigyelhető.)
Már itt megfigyelhető, hogy a szótárak egy vagy több tartalomtípushoz vannak rendelve.

80. ábra: A Taxonómiák listája

Nézzük meg, milyen alapbeállítások érhetők el egy szótár esetén.


88. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

9.21.1. Szótár létrehozása, szerkesztése


A céljainknak megfelelő szótárat a Szótár hozzáadása (admin/content/taxonomy/add/
vocabulary) oldalon hozhatjuk létre. A szótár utólagos szerkesztésével is hasonló felépí­
tésű oldalra (admin/content/taxonomy/edit/vocabulary/*) juthatunk (81. ábra).

81. ábra: Szótár szerkesztése


9. Az alaprendszer moduljai 89. oldal

A Beállítások rész három jelölője igényli a legtöbb magyarázatot.


A Címkék bejelölése esetén a tartalom beküldésekor nem csak az előre megadott kifeje­
zések közül választhatunk, hanem dinamikusan bővíthetjük is azt a megadott címkékkel.
Blogoknál használatos szabad-szavas címkézésnél ezt a beállítást kell választanunk. De
egy apróhirdetési oldal fix kategóriái esetén nem szabad bejelölnünk.
A Többszörös választás bejelölése esetén lehetőség van több elem kiválasztására is. A
Szükséges használatával pedig kötelező lesz kifejezést választanunk.
Végül a Súly mezővel azt befolyásolhatjuk, hogy a tartalom címéhez és törzséhez képest,
esetleg a többi szótárhoz képest milyen sorrendben jelenjen meg.

9.21.2. Kifejezések kezelése


A szótárak listázásánál (80. ábra) láthatjuk a a kifejezések listája (admin/content/taxo­
nomy/*) linkeket. Ezek segítségével áttekinthetjük, szerkeszthetjük a kifejezéseinket
(82. ábra).

82. ábra: Kifejezések listája

A Kifejezés hozzáadása (admin/content/taxonomy/*/add/term) link segítségével új ki­


fejezést vihetünk fel, ahol a más kifejezésekkel való kapcsolatot is meghatározhatjuk.

9.21.3. A kifejezések felhasználása


Tartalmak beküldésekor, módosításakor (a szótár beállításaitól függően) kiválaszthatjuk
(pl. 17. ábra) vagy beírhatjuk (pl. 18. ábra) a tartalomhoz kapcsolódó kifejezéseket. Ezzel
természetesen nem csak jelzőket aggatunk a tartalmunkra, hanem navigációs legetősé­
geket is kapunk. A látogató akár rá is kattinthat. (Érdemes megfigyelni a kapcsolódó út­
vonalat: pl. taxonomy/term/100.)
90. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Persze a navigáció nem csak a tartalomtól indulhat. Például a Forum modul az összes ki­
fejezést felsorolja az összefoglaló oldalon. De mi magunk is használhatjuk linkelésre a
fenti útvonalakat, vagy akár menübe is tehetjük.

9.21.4. Jogosultságok
A modul beállítható jogosultsága:
 taxonómia adminisztrációja: ki tudjon szótárakat és kifejezéseket szerkeszteni

Végül érdemes megemlíteni, hogy a 13.1. fejezetben még foglalkozunk a modullal.

9.22. A Throttle modul


A modul segítségével beállítható a torlódásvédelmi visszafogó funkció.
Olyan torlódásvédelmi funkcióval ruházza fel a webhelyet, amely automatikusan észre­
veszi a bejövő forgalom ugrásszerű növekedését. Ha a webhelyre linket helyez el egy má­
sik népszerű weblap, vagy „szolgáltatás ellehetetlenítési” (Denial of Service – DoS) tá­
madás alatt áll, a webkiszolgáló túlterhelődhet. A visszafogó által alkalmazott módszer­
rel automatikusan optimalizálható a többi modul teljesítménye, a webszervert jelentő­
sebben terhelő funkciók kikapcsolásával. Például, a webhely sminkjében letiltható a ké­
pek megjelenítése (az átviteli sebesség növelése érdekében) vagy a modulokban ki lehet
kapcsolni néhány összetett megoldást (a processzor-terhelés csökkentésére).
A visszafogó automatikusan bekapcsol, ha a webhelyet olvasó anonim látogatók száma
vagy a bejelentkezett felhasználók száma túllépi az admin/settings/throttle oldalon be­
állított értéket.
Végül a Modulok (admin/build/modules) oldalon azt is beállíthatjuk, hogy mely modu­
lok legyenek hatástalanok a Visszafogó bekapcsolása esetén (83. ábra).

83. ábra: Visszafogandó modulok beállítása

Ha még így sem tud a rendszer egy elérhető teljesítményszintet produkálni, akkor a
Webhely karbantartáshoz (45. ábra) hasonló oldalt fognak a látogatók kapni.
9. Az alaprendszer moduljai 91. oldal

9.23. A Tracker modul


A modul lehetővé teszi a friss tartalmak követését.
A honapot gyakran használó, és minden változást követni akaró felhasználók számára
rendkívül hasznos a Tracker modul. Bekapcsolása esetén a Navigáció menüben megje­
lenik a Friss tartalom menüpont (84. ábra). (A szerző a http://drupal.hu kezdőoldala
helyett is a http://drupal.hu/tracker címet szokta megnézni.)

84. ábra: Friss tartalom

9.24. A Trigger modul


A modul akciók rendszereseményekhez (pl. új tartalom beküldése) kapcsolódó futtatását
teszi lehetővé.
Az alapmodulokhoz kapcsolódó triggerek is igen sokféle lehetőséget adnak. A szerző pél­
dául kisebb forgalmú weboldalak esetén az új tartalmak, új hozzászólások és új regiszt­
rációk esetén e-mail értesítést szokott beállítani (admin/build/trigger/node oldal, 85.
ábra).
92. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

85. ábra: Triggerek beállítása

Az egyes eseményekhez rendelhető akciók az admin/settings/actions oldalon (86. ábra)


kezelhetők. Az egyszerű akciókon kívül mi magunk is hozhatunk létre konfigurálható ak­
ciókat, pl. e-mail küldést.
9. Az alaprendszer moduljai 93. oldal

86. ábra: Akciók listája, konfigurálható akció létrehozása


94. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

9.25. Az Update status modul


A modul a Drupal alaprendszer és a kiegészítő modulok illetve sminkek frissítéseinek el­
érhetőségét és szükségességét figyeli.
A modul használatához szükséges, hogy a szolgáltató engedélyezze a PHP számára a más
szerverekhez való (HTTP) kapcsolódás lehetőségét. A modul működése esetén minden
adminisztrációs oldalon figyelmeztetést, és az admin/reports/updates oldalon részletes
tájékoztatást kapunk a frissítendő komponensekről (87. ábra).

87. ábra: Az elérhető frissítések áttekintése

Érdemes megfigyelni, hogy a piros színű Biztonsági frissítést igen fontos frissítenünk. A
sárga Frissítés nem kritikus, de azért ajánlott.
A frissítés kivitelezéséről a 20.3. fejezetben olvashatunk.

9.26. Az Upload modul


A modul fájlok feltöltését és tartalmakhoz csatolását teszi lehetővé.
9. Az alaprendszer moduljai 95. oldal

Több oka lehet annak, hogy a tartalommal együtt egy vagy több csatolt állományt (azaz
csatolmányt) is feltöltsünk. Klasszikus esetben a látogatók számára letölthető állomány­
ként szeretnénk elérhetővé tenni (88. ábra). De tipikus az is, hogy a tartalom szövege
között megjeleníthető képet szeretnénk így a webszerverre juttatni.

88. ábra: Csatolmányok a tartalom mellett

9.26.1. A csatolás előfeltételei


A tartalmakhoz történő csatolásnak több előfeltétele van:
 az Upload modul engedélyezése (admin/bulid/modules)
 a tartalomtípusra engedélyezett legyen a csatolmány feltöltése
(admin/content/node-type/*)
 a tartalom beküldőnek legyen joga csatolmányt beküldeni
(admin/user/permissions)
 a tartalom beküldő a saját kvótáit ne lépje túl (admin/settings/uploads)
 megfelelő méret- és típuskorlátnak feleljen meg (admin/settings/uploads)

9.26.2. A csatolmányok feltöltése


Ha több állományt szeretnénk a tartalomhoz csatolni, első lépésként a feltöltésre érde­
mes koncentrálunk. Majd ezután változtathatunk a képek feltöltéskor kialakított sorren­
den, a fájlnév helyett beszédesebb szöveget adhatunk meg, vagy a közvetlen megjelenést
kapcsolhatjuk ki (89. ábra).
96. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

89. ábra: Állományok tartalomhoz csatolása

Érdemes figyelembe venni, hogy a sorrend be nem tartása furcsa következményekkel


járhat: a megváltoztatott szöveg és a vonszolással beállított megjelenési sorrend elveszik,
ha újabb állományt csatolunk.

9.26.3. A csatolmányok megjelenése


Hacsak ki nem kapcsoljuk (89. ábra, Lista oszlop), a csatolmány közvetlenül látható lesz
a csatolmányok letöltéséhez jogosultsággal rendelkező látogatók által. Látható lesz teljes
nézetben (88. ábra), de a címlapon is (90. ábra).

90. ábra: Csatolmányok a címlapon

9.26.4. A csatolmányok beállításai


A Fájl feltöltések (admin/settings/uploads) menüben a már említett globális beállítások
láthatók (91. ábra). Ha több felhasználói csoportunk van, akkor a beállítások csoporton­
ként eltérőek is lehetnek.
Ezen kívül a telepítés során beállított két könyvtár is fontos szerepet kap (43. ábra).
9. Az alaprendszer moduljai 97. oldal

91. ábra: Fájl feltöltések beállításai

Végül érdemes még megemlíteni a letöltési mód választásának jelentőségét, amiről a


7.1.2 fejezetben már volt szó.

9.26.5. Jogosultságok
A modul beállítható jogosultságai:
 feltöltött fájlok megtekintése: ki láthassa a csatolmányokat
 fájlok feltöltése: ki tudjon a tartalma beküldésekor csatolmányokat is feltölteni
98. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

10. Az alaprendszer szolgáltatásai


Megjegyzés: a fejezet a System alapmodul egyes szolgáltatásait ismerteti.

10.1. Dátum és idő


Az admin/settings/date-time oldalon a dátum és idő megjelenítésével kapcsolatos beál­
lítások, valamint a rendszer alapértelmezett időzónája állíthatók be (92. ábra). A beállí­
tási lehetőségek magukért beszélnek.
Regisztrált felhasználók számára akkor érdemes engedélyezi az időzóna testreszabását,
ha előfordulhat, hogy a szerver és a látogatók más időzónába tartoznak.

92. ábra: Dátum beállítások

A hét első napjának beállítása naptár jellegű megközelítés esetén lesz fontos.
A formázás a dátumok háromféle megjelenítési beállítását (Rövid, Közepes és Hosszú
dátumforma) szabhatjuk testre. A magyar szokásokhoz leginkább az egyéni dátumforma
használatával, és pl. Y. F j. H:i formátumkóddal idomulhatunk. Ebben az esetben pl. hí­
rek esetén a következő dátumot láthatjuk (93. ábra).

93. ábra: Dátum formátum testre szabva


10. Az alaprendszer szolgáltatásai 99. oldal

10.2. Teljesítmény beállítások


A Drupal több lehetőséget is ad (admin/settings/performance) az oldalunk teljesítmé­
nyének finomhangolására. Természetesen ezek a gyorsítási funkciók hátrányokkal is jár­
hatnak, ezért óvatosan kell velük bánnunk.

10.2.1. Gyorstárazás
A Wikipédia definíciója63 szerint „a gyorsítótár vagy cache [...] az átmeneti információ­
tároló elemeket jelenti, melyek célja az információ-hozzáférés gyorsítása. A gyorsítás
egyszerűen azon alapul, hogy a gyorsítótár gyorsabb tárolóelem, mint a hozzá kap­
csolt, gyorsítandó működésű elemek, így ha ezen területek tartalma korábban már be­
került a gyorsítótárba (mert már valaki/valami hivatkozott rá korábban), az ilyen
adatokat nem a lassú működésű területről, hanem a gyors cache tárolóból lehet előhív­
ni.”
A gyorstár bekapcsolása (94. ábra) jelentős teljesítmény javulást eredményezhet. A Dru­
pal képes az anonim felhasználók (látogatók) által kért webcímeket illető tömörített
gyorstárazott oldalak tárolására és küldésére. A gyorstárazás használatával a Drupalnak
nem kell minden oldallekérésnél előállítania a weblapot, hanem azt a gyorstárból
(cache-ből) tudja kiszolgálni.

94. ábra: Gyorstárazás beállítása

A gyorstárazási módot ajánlott Normálra állítani, aminek még nem lehetnek mellékha­
tásai.

63
http://hu.wikipedia.org/wiki/Gyorstár
100. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Minimális gyorstár élettartam


Nagy forgalmú webhelyek esetén szükséges lehet a gyorstár élettartamának minimális
értéket adni. A gyorstár minimális élettartama az az idő, aminek el kell telnie azelőtt,
hogy a gyorstár kiürítésre majd újra feltöltésre kerülne. A hosszabb minimális gyorstár
élettartam jobb teljesítményt nyújt, azonban a felhasználók hosszabb ideig nem látják
majd a legfrissebb változásokat (pl. új tartalmakat, friss hozzászólásokat). Az oldal kiala­
kítása alatt érdemes az alapértelmezett 0 értéket meghagyni, vagy még inkább kikap­
csolni a gyorstárazást, és csak a tömeges használat fázisában bekapcsolni.

Blokk tömörítés
Néha egy-egy blokk generálása erőforrás-igényesebb, mint a tartalom legenerálása. Ép­
pen ezért általában érdemes ezt is bekapcsolni (95. ábra).

95. ábra: Blokk gyorstárazás


10.2.2. Sávszélesség optimalizálás
A Drupal alapú honlapunk jó eséllyel több CSS és JavaScript állomány letöltését is szük­
ségessé teszi az oldal megjelenítéséhez. De maga a generált HTML oldal se a legoptimá­
lisabb a letöltési sebesség szempontjából.
A következő lehetőségek a webhely felé irányuló kérések számának és méretének csök­
kentését teszik lehetővé. Ez csökkentheti a szerver terhelését, a használt sávszélességet,
és az oldalak betöltődésének átlagos idejét. E beállítások (96.és 97. ábra) engedélyezése
fejlesztés közben nem javasolt.

96. ábra: Oldal tömörítés engedélyezése


10. Az alaprendszer szolgáltatásai 101. oldal

97. ábra: Sávszélesség optimalizálás

A 98. és 99. ábrákon láthatjuk a generált HTML kimenetet, a két mód közti különbséget.
Jól látszik, hogy a sok CSS fájl letöltése helyett csak egyre lesz szükség. Ez pedig elő­
nyös.

98. ábra: A HTML kimenet a CSS fájlok összevonása nélkül

99. ábra: A HTML kimenet a CSS fájlok összevonása esetén


102. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Fejlesztés alatt hagyjuk e lehetőségeket Tiltott állapotban.

10.3. RSS közzététel


Az admin/content/rss-publishing oldalon az alapértelmezett rss.xml útvonalhoz tartozó
hírcsatorna beállításai végezhetők el (100. ábra).

100. ábra: Hírcsatorna beállításai

10.4. Hibajelentések beállításai


Az admin/settings/error-reporting oldalon a 403-as (tiltott hozzáférés) és 404-es (nem
található) eseményekre adott válaszunkat állíthatjuk be (101. ábra).

101. ábra: Hibajelentés beállításai


10. Az alaprendszer szolgáltatásai 103. oldal

10.4.1. Jogosultságok
A System modul beállítható ide kapcsolódó jogosultsága:
 webhely jelentések hozzáférése: ki láthassa a jelentéseket

10.5. Képkezelő eszközkészlet


A mai weboldalak készítésekor ma már megkerülhetetlen a képek alkalmazása, feltölté­
se. Azt azonban nem várhatjuk el, hogy a látogató mindig precízen előkészítse a képeket
a megfelelő méretben. Emiatt célszerű ezt a funkciót a Drupalra bízni. A Drupal képes a
feltöltött képek átméretezésére. Az admin/settings/image-toolkit oldalon a veszteséges
tömörítésű JPEG állományok átméretezési minőségét állíthatjuk be (102. ábra).

102. ábra: Tömörítési beállítások

10.6. Rövid webcímek


A látogatók és a keresőrobotok (pl. Google bot) számára is előnyösebb, ha a webcímek­
ben található ?q= karaktersorozatot64 „eltüntetjük”. Már a telepítéskor (38. ábra) ki tud­
juk választani e lehetőséget, ha a webszerver támogatja a mod-rewrite és .htaccess hasz­
nálatot. Utólag az admin/settings/clean-urls címen tudjuk beállítani (103. ábra).

103. ábra: Rövid webcímek beállítása

64
Webfejlesztők számára érdekes információ, hogy az URL-t az index.php?q=... formában is írhatnánk, de
az index.php általában probléma nélkül elhagyható.
104. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

11. A honlap kialakítása


Ha már tudjuk, mi a célunk a honlapunkkal (3. fejezet), akkor kezdjünk bele az oldal ki­
alakításába. Ehhez meg kell válaszolnunk még a következő kérdéseket.

11.1. Alapkérdések

11.1.1. Milyen oldalaink lesznek?


A válasz egy konkrét, tételes lista legyen. Például:
 kezdőoldal (hírekkel)
 kapcsolat
 termékkategóriák tartalomjegyzéke
 termékkategóriák oldalai
 termékek oldalai
 vendégkönyv oldal
 stb.

11.1.2. Milyen viszonyban állnak az oldalak egymással?


Itt az alá-fölé rendeltségi viszonyon kívül gyakori a mellérendelt kapcsolat is. A válasz az
oldal navigációjának kitalálásában fog segíteni.
Illusztrációként nézzünk meg egy professzionális eszköz, a GUI Design Studio65 példáját:

104. ábra: Navigáció tervezés

65
http://www.carettasoftware.com/gds/
11. A honlap kialakítása 105. oldal

Az ábra lényeges mondanivalója, hogy meg kell terveznünk, mely oldalakról mely másik
oldalakra navigálhatunk.

11.1.3. Hogy nézzen ki az oldalunk?

Az oldalakon milyen blokkok legyenek?


Itt már az oldal funkcionális látványterve készül. A fő kérdés az, hogy a klasszikus 1,2
vagy 3 oszlopos oldalelrendezés közül melyiket választjuk, és melyik szélső oszlopban
milyen tartalmú dobozokat szeretnénk elhelyezni. Ráadásul még a dobozok sorrendjét is
meg kell terveznünk.

Milyen menüket, milyen menüpontokat szeretnénk alkalmazni?


Fontos tisztáznunk, hogy a hagyományos felső vagy oldalsó menüt, esetleg mindkettőt
alkalmazzuk. A menüpontok sorrendje, hierarchiája szintén nem közömbös. Jól át kell
hát gondolnunk, hogy a látogatóink számára leglogikusabb, legáttekinthetőbb struktúrát
tudjuk nyújtani.
Az oldalunk kinézetének tervezéséhez legtöbbször szabad kézi rajzot szokás alkalmazni.
De a Paper prototyping módszere66 is igen hasznos lehet (105. ábra).

105. ábra: Paper prototyping példa

Az alapkérdések tisztázása után vágjunk bele ismét a Drupal alkalmazásába.

66
Egy bevezető a témához: http://www.alistapart.com/articles/paperprototyping
106. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

11.2. Menük és blokkok kialakítása


A legritkább eset, amikor az oldal menüpontjai egy mindössze néhány elemű listába he­
lyezhetők. Sokkal gyakoribb, hogy almenükben, illetve többféle67 menüben kell gondol­
kodnunk.
A Drupal a menüpontokat technikailag kétféle módon teszi használhatóvá. Egyrészt a
többnyire (de nem kizárólag) vízszintes felső menüként szereplő Elsődleges linkek nevű
menü, másrészt a többnyire valamelyik oldalsávon (oszlopban) megjelenő menüblok­
kokban. Az utóbbira már eddig is láthattunk (sőt használhattuk is) egy példát, ez pedig a
Navigáció menü.
A menüink az admin/build/menu oldalon tekinthetők meg (106. ábra).

106. ábra: Menük adminisztrációs oldal

11.2.1. Elsődleges linkek


Először az Elsődleges linkek összeállítását érdemes megtanulnunk, hiszen egyszerűbb
esetekben ezzel minden oldalt közvetlenül elérhetővé lehet tenni. Az Elsődleges linkek
megjelenése és a megjelenés helye smink kérdése68.
Itt most számunkra legfontosabb előnye, hogy a menü már létezik, csak menüpontokkal
kell feltöltenünk. (Hamarosan látni fogjuk, hogy más menüket először létre kell hoz­
nunk.)
Ha beküldünk pl. egy Oldal típusú tartalmat, akkor megfigyelhetjük a Menü beállítások
eddig nem használt részt (107. ábra).
Megjegyzés: A szerző Oldal típusú tartalmat javasol a főmenü (elsődleges linkek) pont­
jaiként. Híreket nem, csak hír rovatokat (9.21.3. fejezet) szokás menübe tenni.

67
A szerző a lehetőségek közül eleve kizárja az ún. legördülő menüket, amelyeknek egy honlapon (ergonó­
miai okok miatt) általában semmi helyük. Kivételt esetleg az adminisztrációs felület kialakításánál érde­
mes tenni.
68
Bizonyos sminkek nem jelenítik meg az Elsődleges linkeket, más sminkek akár a másodlagos stb. menüt
is megjelenítik.
11. A honlap kialakítása 107. oldal

107. ábra: Oldal elhelyezése az Elsődleges menüben

A Cím a menüben megjelenő feliratot fogja jelenteni, a Leírás pedig a szükség esetén
megjelenő felugró szöveget (Tooltip).
A Szülő menüpont segítségével állíthatjuk be a menüpontnak a menühierarchiában be­
töltött helyét. (Az oldalunkon elérhető több menü egy közös fába szervezve jelenik meg,
a megfelelő pont kiválasztásával tehát a menüt, és az azon belüli pozíciót is meg tudjuk
határozni.)
Végül a Súly az egy helyen (egy szülő alatt) levő menüpontok relatív sorrendjét szabá­
lyozza. (A nagyobb számokkal ellátott „nehezebb” menüpontok lesüllyednek.)

11.2.2. Navigáció menü


Ebben a menüben jelennek meg a legalapvetőbb navigációs lehetőségeken (pl. Kilépés,
Saját adatok) kívül a honlap fejlesztéséhez, adminisztrálásához szükséges menüpontok
(108. ábra). Ez a menü a benne található menüpontok között fa hierarchiát képes meg­
valósítani.
Az ábrán jól megfigyelhető, hogy a Navigáció menü beállításainak megfelelően jelennek
meg a bal oldali menüpontok: A nem engedélyezett (szürkével szereplő) Keresés menü­
pont nem jelenik meg a navigációs menüben, viszont a Saját adatok igen. Ráadásul a
sorrendben és a hierarchiában is könnyen megfigyelhető az összefüggés. (Az ábrán terje­
delmi okok miatt nem szerepel a teljes Navigáció menü.)
108. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

108. ábra: Navigáció menü beállításai

Jól látszik, hogy a nem engedélyezett menüpontok könnyen bekapcsolhatók.


A Menüpont hozzáadása linkkel új menüpontokat is felvihetnénk, de most ezt ne tegyük
meg: a szerző véleménye szerint a Navigáció menüt érdemes eredeti formájában fenn­
tartani, az egyes tartalmaknak, funkcióknak pedig más menüket biztosítani.

11.2.3. A blokkok beállítása


A menük (az Elsődleges linkek kivételével) blokkokban elhelyezve jelennek meg az olda­
lon. Ezért meg kell néznünk, hogy mit is tehetünk a blokkjainkkal.
(Blokkokban nem csak menük jelenhetnek meg, ahogy azt később látni fogjuk.)
Nézzük meg a Blokkok (admin/build/block) adminisztrációs oldalát (109. ábra). Az ol­
dal specialitása a csak ezen adminisztrációs oldalra jellemző, szaggatott szegéllyel jelzett
régió-feliratok megjelenése. E feliratok (Fejléc, Bal oldalsáv, Jobb oldalsáv, Tartalom,
Lábléc) azt jelzik, hogy az oldal (egész pontosan a smink) milyen helyekre tud blokkokat
helyezni.
(Egyes sminkek akár egész más nevű és helyű régiókat is tartalmazhatnak.)
11. A honlap kialakítása 109. oldal

109. ábra: Blokkok adminisztrációs oldal


110. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Az ábrán mindössze három engedélyezett és négy Tiltott blokkot láthatunk. Már ezen az
összefoglaló oldalon is beállíthatjuk, hogy melyik blokk hol jelenjen meg, és mi legyen a
blokkjaink relatív sorrendje. (Itt a háttérben a korábban már említett súlyozás van, de a
Drupal 6-os verziója itt elrejti ezt előlünk, és akár egérvonszolással is befolyásolható a
sorrend.)

11.2.4. Részletesebb beállítások


Nézzük meg a részletesebb beállítások (admin/build/block/configure/user/1) lehetősé­
geit, kattintsunk a Navigáció blokk melletti beállítás linkre (110. ábra).
A blokk címe mezőbe írt szöveg felülbírálja a blokk „örökölt” címét (például a Navigáció
szó a menü neve, amit a blokkban meg akarunk jeleníteni), de akár cím nélküli blokkot
is meghatározhatunk, ha <none> szöveget írunk bele.
Beállíthatjuk, hogy a felhasználók testre szabhassák-e az oldalukat a blokk kikapcsolásá­
val. (Ez elsősorban a sok időt honlapon töltő felhasználóknál érdekes, például közösségi
oldalak esetén.)
A blokk megjelenését köthetjük jogosultsághoz is. Drupal alatt a jogosultságkezelés
alapvetően csoportos szinten működik, vagyis megjelenítést felhasználói csoportonként
engedélyezhetjük. Alapértelmezetten a blokkok mindenki számára elérhetők.
A megjelenést akár útvonalakhoz is köthetjük. Ekkor a blokk csak az útvonalak által
meghatározott, vagy ellenkezőleg: azok által kizárt oldalakon fog megjelenni. (Gyakori
pl. a csak a címlapon megjelenő blokk.) Ügyes útvonal álnév szervezéssel trükköket ve­
zethetünk be. Pl. a termekek útvonal egy lista, az egyes termékek útvonal álneve a ter­
mekek/nev módon áll elő. Ekkor a blokk beállítandó útvonalai:
termekek
termekek/*
Így a blokk a termékeket listázó oldalon, és az egyes termékek oldalain lesz látható.

Végül érdemes megemlíteni, hogy a blokk beállítások a sminkekhez is kötődnek.


Emiatt ha az egyik sminknél beállítjuk a blokk helyét, attól a másik sminkben nem fog
módosulni a beállítás.
11. A honlap kialakítása 111. oldal

110. ábra: Navigáció menü blokk beállításai


112. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

11.2.5. A főmenü elkészítése


Sok oldalnál előfordul, hogy az Elsődleges linkek menü nem teszi lehetővé az összes
igény kiszolgálását. Néhány indok:
 nem fér ki minden menüpont
 túl zsúfolt lenne, nem vihető bele csoportosítás
 nem vihető bele többszörös hierarchia69
Ezért megnézzük annak lehetőségét, hogy hogyan tudunk a Navigáció menühöz hasonló
újabb menüt (akár többet is) létrehozni.
Példánkban egyetlen menüblokkra van szükségünk, ami a Menü nevet fogja kapni. Néz­
zük meg, hogyan is alakítsuk ki a menünket.
Először is menjünk a Menü adminisztrációs oldalra (admin/build/menu). Hozzunk létre
egy új menüt (Menü hozzáadása). (111. ábra)

111. ábra: Új menü létrehozása

Ezután hozzunk létre egy menüpontot (Menüpont hozzáadása) a kezdőoldalra mutató


linkkel (<front>), Címlap címmel (112. ábra).
A cím alatt megadhatnánk egy leírást, ami kis súgó szövegként (tooltip) fog megjelenni,
ha az egérmutatót a menüpontra visszük.
Megadhatjuk a szülő menüpontot (esetünkben Menü) és a menüpontok relatív sorrend­
jét definiáló Súlyt is.

69
A Másodlagos linkek segítségével az Elsődleges linkek közvetlen gyermekei definiálhatók, vagyis csak
két szintű hierarchia hozható létre.
11. A honlap kialakítása 113. oldal

112. ábra: Címlap menüpont létrehozása

Menünk még mindig nem látszik sehol, ugyanis a Menü blokkot az alapértelmezett Til­
tott állapotból még nem billentettük ki. Tegyük be bal oldalra a Blokkok adminisztráci­
ója oldalon, a 109. ábrának megfelelően. Ezek után a Menünknek meg kell jelennie az
oldalon.
A menüblokkokban szereplő menüpontok kialakításával további oldalakat fűzhetünk be
az oldal menüszerkezetébe.

11.2.6. Kétszintű felső menü


Igen gyakori, hogy egy weboldal főbb menüpontjai nem férnek el egyelten menüben.
Sem a hely nem elegendő, se az áttekinthetőség nem biztosítható. Az viszont gyakori,
hogy egy kétszintű hierarchia megfelelően áttekinthetővé teszi a menüt. Ilyen esetekben
a kétszintű felső menü egy lehetséges technikai megoldás (113. ábra).
114. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

113. ábra: Két szintű Elsődleges linkek menü

A hierarchia kifejezésére a menü pontjait olyan módon kell kialakítani, hogy az első
szint közvetlenül az Elsődleges linkek menübe kerüljön, a második szint menüpontjai
pedig a megfelelő szülő alá.
Ezen kívül az admin/build/menu/settings oldalon mindhárom beállításnál az elsődleges
linkek legyen kijelölve.
Ezen kívül fontos, hogy a smink beállításainál (admin/build/themes/settings/*) enge­
délyezve legyen az Elsődleges és Másodlagos linkek is.

11.2.7. Jogosultságok
A modulok beállítható jogosultságai:
 blokkok adminisztrációja: ki szerkeszthessen blokkokat, ki állíthassa be a megje­
lenési beállításokat
 blokk láthatóság beállítása PHP kóddal: ki használhassa url-ek helyett az igen
veszélyes PHP kódot a beállításoknál
 menü adminisztrációja: ki szerkeszthesse a menüket, menüpontokat
12. Felhasználókezelés 115. oldal

12. Felhasználókezelés
A honlapunk kialakításában eddig egyedüli szereplőként vettünk részt. A látogatók visz-
szajelzéseire számítva, vagy ha nem mindenki számára szeretnénk minden tartalmat
publikálni, elengedhetetlen lesz a felhasználók kezelésével foglalkoznunk.
Jelenleg tehát kétféle felhasználóval találkozott az oldalunk:
 Névtelen, nem azonosított felhasználó, aki minden publikus tevékenységet meg­
tehet az oldalon.
 Adminisztrátor felhasználó (mi magunk), aki mindent megtehet az oldallal.

12.1. Felhasználók létrehozása


Először is el kell döntenünk (admin/user/settings), hogy engedélyezni szeretnénk a fel­
használók regisztrációját, vagy a felhasználó létrehozás jogát magunknak akarjuk meg­
tartani. A kettő közötti átmeneti állapot az adminisztrátori elfogadáshoz kötött regisztrá­
ció (114. ábra).

114. ábra: Felhasználó beállításai

Hasznos az is, ha a regisztráció során „kikényszerítjük” egy valódi e-mail cím megadását,
hogy szükség esetén meg tudjuk keresni a felhasználóinkat. (Ez esetben az oldalunknak
kell tudni levelet küldeni.)
Érdemes kitölteni a regisztrációs irányelveket is a későbbi félreértések elkerülése érde­
kében.
Ez után különböző, a rendszer által (az adminisztrátor nevében) küldött e-mail üzenetek
szövegét fogalmazhatjuk át. (A legtöbb esetben erre nincs szükség, az alapbeállítások
megfelelőek.)
116. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

A felhasználók egy része barátságos gesztusnak veszi, ha regisztrált felhasználóként sze­


mélyessé tehetik a felhasználói megjelenésüket. Éppen ezért hasznos lehet a felhaszná­
lóknak engedélyezni az aláírásuk megszerkesztését és egy személyes képük feltöltését
(115. ábra).

115. ábra: Felhasználói kép támogatás


A beállítások mentése után a regisztrált látogatók a saját adataik között megadhatják a
fényképüket is. Megfelelő jogosultsággal rendelkező más felhasználók is láthatják a fény­
képünket, de akár a tartalmaink vagy hozzászólásaink mellett is megjelenhet.

12.2. Felhasználók kezelése


A létező felhasználóink adatait adminisztrátorként bármikor módosíthatjuk.
Ha sok felhasználónk van, akár név szerint is kereshetünk közöttük, de még hasznosabb
szolgáltatásokat érhetjük el a Felhasználók (admin/user/user) adminisztrációs oldalon.
Itt felhasználót létrehozni, felhasználókat listázni, szűrni, vagy akár csoportos műveletet
végrehajtani is tudunk (116. ábra).
12. Felhasználókezelés 117. oldal

116. ábra: Felhasználók

A tartalmaknál (8.5.2. fejezet) megismertekhez hasonlóan itt is lehetőségünk van szűrni


és csoportos műveleteket végrehajtani.

12.3. Jogosultságkezelés
A látogatók regisztrációjának legfontosabb oka, hogy az egyes látogatóknak pont annyi
jogot tudjunk adni, mint amennyire (a honlap tulajdonosa szerint) szüksége van. Mivel
egy honlap esetén akár sok ezer felhasználó is lehet, lehetetlen lenne (de kisebb létszám
esetén sem lenne célszerű) a jogokat felhasználónként meghatározni. Ehelyett a látoga­
tóinkat csoportonként fogjuk jogosultságokkal ellátni. (Természetesen egy látogató több
csoportnak is tagja lehet, ekkor a kapott jogok összeadódnak.)
Alapértelmezésben két csoport létezik a Drupalban, melyek nem is törölhetők:
 Anonim (be nem jelentkezett) felhasználók
 Azonosított felhasználók
118. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Ezen kívül szerepkörönként újabb csoportokat is létrehozhatunk az admin/user/roles


oldalon (117. ábra).

117. ábra: Csoportok


A tényleges jogokat tehát csoportoknak (vagyis a csoport tagjainak) engedélyezhetjük. A
jogosultságok szerkesztése link csoportonként, míg a Jogosultságok (admin/user/per­
missions) oldalon az összes csoportnak együtt tudjuk a jogosultságait szerkeszteni (118.
ábra).
Érdemes még itt megjegyezni azt az elvet, hogy az azonosított felhasználónak adott jog
minden további csoportnak is megadja a jogot, hiszen ezek a további csoportok az
azonosított felhasználók részhalmazai. A további csoportok oszlopaiba csak a speciális
további jogokat kell bejelölnünk.
12. Felhasználókezelés 119. oldal

118. ábra: Jogosultságok beállítása

Jól látható az is, hogy a jogosultságok modulonkénti bontásban találhatóak.

12.4. Jogosultságok
A User modul beállítható jogosultságai:
 felhasználói profilok hozzáférése: ki tudja a felhasználók adatlapkait megnézni
 felhasználói név megváltoztatása: ki tudja a saját felhasználónevét megváltoztat­
ni
 jogosultságok szerkesztése: ki tudja a 118. ábrán látható oldalt elérni
 felhasználók adminisztrációja: ki tudja bármelyik felhasználó összes adatát mó­
dosítani
120. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

13. Blog oldal kialakítása


A blog oldal alapvető funkciói közé az időrendben megjelenő bejegyzések és a hozzáfű­
zött megjegyzések tartoznak. Éppen ezért az oldal kialakításához megfelel akár az alap­
értelmezett Írás tartalomtípus is, esetleg Bejegyzésre, Blogbejegyzésre vagy Post-ra mó­
dosítva.

13.1. Tartalmaink címkézése


Blog oldalak esetén tipikusnak számít a címkék (más néven tagok) alkalmazása. Ennek
érdekében az alaprendszer moduljai közül a már megismert (9.21. fejezet) Taxonomy
modult kell használnunk.
Először is hozzunk létre a Kategóriák adminisztrációs oldalon egy új szótárat
(admin/content/taxonomy/add/vocabulary), például Témák névvel, majd finomhan­
goljuk a szótár szerkesztése oldalon (119. ábra).

119. ábra: Kategória szerkesztése a címkékhez


13. Blog oldal kialakítása 121. oldal

A legfontosabb a következők bekapcsolása:


 Szabad címkézés70
 Többszörös választás
 Szükséges
E beállítások hatására a tartalmaink beküldésekor a Cím mező után megjelenik a Témák
mező is, amibe legalább egy kapcsolódó címkét be kell írnunk (120. ábra).

120. ábra: Címkék megadása

A beírásnál eddig még nem használt címkéket is definiálhatunk, de akár egy korábban
használt címkét is kereshetünk. Ez utóbbi esetben elég néhány betűt begépelni a cím­
kénkből, és máris elkezd animálni a sor végén található kis (eddig üres kört formázó) ké­
pünk. (A háttérben aszinkron kérések futnak le a szerver felé, az AJAX technológiát fel­
használva.) A találati listából már könnyedén választhatunk (121. ábra).

121. ábra: Korábbi címkék közötti keresés

Érdemes még megemlíteni, hogy a címkéket egymástól vessző karakterrel kell elválasz­
tanunk, és sok más rendszertől eltérően szóközöket is tartalmazhat.
A címkézéssel nem csak egyszerű információt közöltünk a látogatóinkkal, hanem egy
újabb navigációs lehetőséget is nyújthatunk: a kész tartalmaink valamelyik címkéjére
kattintva a választott címkéhez tartozó összes bejegyzés listája jelenik meg (122. ábra).

70
A szabad címkézés elvi kérdéseihez tartozik, hogy egy tartalom esetén hány címkét is használjunk. Az
egyik véglet szerint egy is elegendő, a másik szerint akár 8-10 is elfogadható. A szerző véleménye szerint a
2-5 közötti címke-számot csak ritkán érdemes túllépni.
122. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

122. ábra: Egy kategória listázása

13.2. A Comment modul


A blog (és közösségi) oldalaknál nagy jelentőséggel bír a látogatók interakciójának lehe­
tősége: ez először is a hozzászólások lehetőségében nyilvánul meg.
Kapcsoljuk be a Comment modult, majd konfiguráljuk az egyes tartalomtípusok beállítá­
sainál (123. ábra). Itt csupán néhány beállítást szükséges magyaráznunk.
13. Blog oldal kialakítása 123. oldal

123. ábra: Hozzászólások beállítása

A megjelenési mód beállításánál választható Beágyazott mód időrend helyett beljebb


kezdve, az érkezett válaszok szerint csoportosítva történő megjelenítést teszi lehetővé.
124. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Ezt a megközelítést még elég kevés oldalon használják, pedig a szerző véleménye szerint
sokkal jobban követhetővé teszi a hozzászólások olvasását.
Természetesen nem szabad arról sem megfeledkeznünk, hogy a hozzászólások beküldé­
sének még további feltételei is vannak:
 Az adott tartalom beküldésekor a Hozzászólás beküldési beállítások dobozban az
Olvasható/Írható beállítás szerepeljen. (A Csak olvasható beállítás egy lezárt fó­
rum témánál felel meg.)
 A Jogosultságok adminisztrációs oldalon a hozzászólások hozzáférése (megjele­
nítése) mellett a beküldésére is adjunk lehetőséget, lehetőleg adminisztrátori el­
fogadás nélkül is. Itt a blogokra jellemző beállítások láthatók (124. ábra).

124. ábra: Jogosultságok

A konfiguráció elvégzése után várhatjuk oldalunkhoz a hozzászólásokat.


Érdemes még megemlíteni, hogy a Hozzászólások (admin/content/comment) admi­
nisztrációs oldal alapértelmezett (Listázás) fülén hasonló listázási és tömeges módosítá­
si lehetőségeik vannak, mint a Tartalom adminisztrációs oldalon (60. ábra) a tartalma­
inkra nézve.

13.2.1. Jogosultságok
A modul beállítható jogosultságai:
 hozzászólások hozzáférése: ki lássa a hozzászólásokat
 hozzászólások adminisztrációja: ki legyen moderátor
 hozzászólások beküldése: ki tudjon hozzászólni (ha a következő jog nincs meg va­
lakinek, akkor moderálási sorba fognak kerülni a hozzászólásai)
 hozzászólások beküldése elfogadás nélkül: ki tudjon a moderálási sort kihagyva,
egyből megjelenő hozzászólást beküldeni
14. Közösségi oldal kialakítása 125. oldal

14. Közösségi oldal kialakítása


A közösségi oldal – jegyzetünk szempontjából – elsősorban a közösségi tartalom-előállí­
tás, és csak másodsorban a közösségi kapcsolatok alakítása köré épülő szolgáltatásokat
jelenti.
A közösségi oldalaknál a 13.2. fejezetben bemutatott Comment modul alapvető jelentő­
ségű. A következő modulok szintén gyakoriak közösségi oldalaknál.

14.1. A Profile modul


Gyakori, hogy a közösségi oldalaknál nem csak az alapértelmezett adatokat (10. ábra)
szeretnénk mások számára közzétenni (125. ábra).

125. ábra: Felhasználói profil


Az admin/user/profile oldalon (126. ábra) tudunk újabb mezőket felvenni a honlap cél­
jainak megfelelően.
126. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

126. ábra: Profil szerkesztése

A mezőtípusok jelentése:

Mező HTML eredmény Példák

egysoros szövegmező text típusú input mező lánykori név


hobbi

többsoros szövegmező textarea mező lakcím


önéletrajz

jelölőnégyzet checkbox típusú input mező dohányzom


14. Közösségi oldal kialakítása 127. oldal

választólista select mező iskolai végzettség


családi állapot

szabad formátumú lista textarea mező kedvenc együtteseim

URL a elem honlapom

dátum input mező dátum megengedett ér­ születési dátum


tékkel

Példaként nézzünk meg egy választólista létrehozását (127. és 128. ábra).

127. ábra: Profil mező létrehozása 1


A felhasználó saját adatainak szerkesztésekor (user/*/edit) több fülön láthatjuk azokat.
A Kategória megadásával a profil mezők nevesített csoportjait hozhatjuk létre. A bevitt
szöveg fog a füleken látszani (130. ábra, főiskola szó).
Meg kell adnunk egy emberi és gépi azonosítót, és magyarázó szöveget is írhatunk. A
példánkban a Választási lehetőségeket is meg kell adnunk.
128. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

128. ábra: Profil mező létrehozása 2

A Láthatóság a mező megjelenésének pontos helyét definiálja.


Külön érdekesség (a példában később ki is használjuk), hogy az Oldal címe megadásával
még felhasználókat áttekintő oldalakat is kérhetünk.
A gépelés közbeni kiegészítés pl. egy lakóhely mezőnél jól jöhet, amikor sok felhasználó
azonos települést fog megadni, így már az első néhány betű után választhatunk a megje­
lenő listából.
Végül a mező kötelező kitöltését és a regisztrációkor való kitöltés lehetőségét is előírhat­
juk.
A látogató a regisztrációnál, vagy utólagos szerkesztésnél (129. ábra) kiválaszthatja a rá
jellemző beállítást.
14. Közösségi oldal kialakítása 129. oldal

129. ábra: Saját profil szerkesztése

Ha az Oldal címe-t is megadjuk (Iskolai végzettsége: %value), akkor a profil oldalon


nem csak szövegként, hanem linkként jelenik meg a beállított érték (130. ábra).

130. ábra: Saját profil beállított "Oldal címe" értékkel

Kattintás után az ugyanolyan végzettségűek listáját láthatjuk.

14.2. A Forum modul


A Forum modul célját talán nem érdemes túlságosan részletezni, a témakörökbe osztha­
tó, Téma mentén szerveződő többszereplős beszélgetéseket értjük alatta. A Forum alap­
modul, és a Comment modul bekapcsolása szükséges a működéséhez.
A modul engedélyezésekor automatikusan létrejön a Fórum téma tartalomtípus, amit
céljainknak megfelelően konfigurálhatunk (admin/content/node-type/forum).
130. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Ezen kívül létrejön a kategóriák között is egy új szótár Forums néven. Ennek a szótárnak
a használatával tudjuk meghatározni a klasszikus fórumok működésénél megszokott té­
makörök rendszerét. A szótárt szerkesztve (admin/content/taxonomy/edit/vocabu­
lary/*) láthatjuk, hogy a fórum néhány területen korlátozza a szokásos (lásd 9.21. feje­
zet) kategória-beállításokat: például nem engedélyezi egy téma több kifejezéshez kap­
csolását, vagy a szabad szavas témamegjelölést. A szótár nevét mindenképpen érdemes
megváltoztatni, pl. Fórum témára.
Bár elvileg itt is felépíthetjük a fórum kategóriáinkat, célszerűbb az Adminisztráció me­
nü Fórum menüpontját (admin/content/forum) megkeresni (131. ábra).

131. ábra: Fórum témák listája

Itt a Beállítások (admin/content/forum/settings) fülön néhány – magáért beszélő – be­


állítást tehetünk meg.
Az igazi érdekesség viszont, hogy a fórumainkat itt listázva megjelenik a csoport (contai­
ner) fogalma. Itt tehát olyan fórum csoportokat tudunk létrehozni, amelyek csak a tar­
talmazott fórumok miatt vannak, közvetlen témát indítani nem tudunk bennük. (Példá­
nak tökéletesen megteszi egy Állás csoport, amely a tartalmazott Állást keres és Állást
kínál fórumokon keresztül lesz használható, de közvetlenül nem.) Az eredmény a Lista
oldalon (132. ábra) látható.

132. ábra: Csoport és fórumok létrehozása


14. Közösségi oldal kialakítása 131. oldal

Az elkészült fórumunk a forum útvonalon máris elérhető (133. ábra). Érdemes azonban
egy menüpontként is elhelyezni egy jól látható helyen.

133. ábra: Fórum kezdőoldal

14.2.1. A Drupal fórum filozófiája


Érdemes megjegyezni, hogy a Drupal a sok nagy fórumon kialakult, sok ezer (magyarul:
végtelen sok :-) megjegyzést tartalmazó áttekinthetetlen és követhetetlen fórum helyett
egy sokkal áttekinthetőbb megközelítést támogat.
 új kérdés: minden újabb felmerülő téma, kérdés egy új Fórum téma tartalom be­
küldésével indul
 néhány válasz: sok ezer helyett néhány válasz is elegendő (a sok hozzászólás
előbb-utóbb menetrendszerűen elkanyarodik az eredeti témától)
 szálak a válaszok követésére: a Comment modul beállításaival konfigurálható
 a hozzászólások lezárhatók: a Comment modul beállításaival (csak olvasható)
 az új témák és hozzászólások követhetők: ehhez a Fórum kezdőoldala (133. ábra)
mellett a Tracker (9.23. fejezet) is kiváló megoldás.

14.2.2. Jogosultságok
A modul beállítható jogosultságai:
 fórumok adminisztrációja: ki tudja a fórum csoportokat, kategóriákat szerkeszte­
ni
 fórumtéma létrehozása: ki tudjon új témát indítani (új Fórum téma tartalmat be­
küldeni)
 fórumtémák törlése: ki tudjon egy tetszőleges témát (és a rá érkező hozzászóláso­
kat) törölni
 saját fórumtémák törlése: ki tudja a saját témáját (és a rá érkező hozzászóláso­
kat) törölni
 fórumtémák szerkesztése: ki tudja bármelyik fórum témát szerkeszteni (vagyis
moderálni)
 saját fórumtémák szerkesztése: ki tudja a saját fórum témáját szerkeszteni
132. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

14.3. A Poll modul


A Poll modul segítségével klasszikus szavazás bonyolítható le. A modul a Drupal alap­
moduljai között bekapcsolható, ezután egy új tartalomtípusként (poll) jelenik meg.
Küldjünk be egy új szavazást (134. ábra).

134. ábra: Szavazás beküldése

A szavazás beküldésekor a szokásos cím mező a Kérdés nevet kapja. Alapértelmezetten


két válasz lehetőséget adhatunk meg, de ez bővíthető. Érdemes az ábrán megfigyelni,
hogy a szavazási lehetőségek szövegén kívül a szavazatok alapértelmezett számát (0) is
módosíthatjuk. (Itt nem feltétlenül csalási lehetőségre kell gondolni, akár egy máshol el­
kezdett szavazást is lehet ilyen módon folytatni.)
A beküldéskor beállíthatjuk a szavazás időtartamát, illetve bármikor kézzel is lezárhat­
juk a szavazást, ha utólag szerkesztjük.
A szavazást akár címlapra is beküldhetjük (135. ábra), de hasznos lehetősége még a mo­
dulnak a Legfrissebb szavazás blokk is. Így mindig lesz egy aktuális szavazás az oldalon.
Az ábrán érdemes még megfigyelni, hogy (megfelelő jogosultság esetén) a szavazatok
pontos adatait is megtekinthetjük (node/*/votes).
14. Közösségi oldal kialakítása 133. oldal

135. ábra: Szavazás beküldve, lehet szavazni

14.3.1. Jogosultságok
A modul beállítható jogosultságai:
 szavazás létrehozása: ki tudjon szavazás típusú tartalmat beküldeni
 saját szavazás törlése: ki tudja a saját szavazás típusú tartalmát törölni
 bármely szavazás törlése: ki tudja bármely szavazás típusú tartalmat törölni
 saját szavazás szerkesztése: ki tudja a saját szavazás típusú tartalmát szerkeszte­
ni
 bármely szavazás szerkesztése: ki tudja bármely szavazás típusú tartalmat szer­
keszteni
 szavazás: ki tudjon szavazatot leadni
 saját szavazat visszavonása: ki tudja szavazatát visszavonni
 szavazatok adatainak megtekintése: ki tudja a szavazatokat visszakövetni fel­
használónév vagy (nem regisztrált szavazó esetén) IP cím alapján

14.4. A Blog modul


Első ránézésre furcsának tűnhet, hogy a Blog modul nem a 13. fejezetben került elő. Ha
azonban alaposabban megnézzük a modul szolgáltatásait, akkor jól látszik, hogy olyan
oldalak esetén a leghasznosabb, ahol több felhasználó egy oldal keretein belül blogol71.
A blog modul engedélyezése után elérhetővé válik a Blogbejegyzés tartalomtípus, amit
persze kedvünk szerint testre szabhatunk, vagy például szótárt hozhatunk létre a címké­
zéshez, végül pedig szabályozhatjuk (Jogosultságok), hogy mely csoportok hozhassanak
létre Blogbejegyzést. A jogosultsággal rendelkező felhasználók máris tudnak bejegyzést
beküldeni (node/add/blog).
A beküldés után a bejegyzésnél jól láthatóan megjelenik a blogbejegyzésre való utalás is
a címkékhez hasonlóan (136. ábra).

71
Néhány kiegészítővel akár a http://blog.hu szolgáltatását is megközelíthetjük.
134. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

136. ábra: Blogbejegyzés beküldés után

Természetesen itt is linkről van szó, a Nagy Gusztáv blogja linkre kattintva a felhaszná­
ló további bejegyzései is elérhetővé válnak. Ehhez hasonló funkciójú hivatkozás kerül a
felhasználói oldalra is (137. ábra).

137. ábra: A blogbejegyzések elérhetők a felhasználói oldalról is

A modulnak az is hasznos szolgáltatása, hogy egyedi RSS csatornát kérhetünk felhaszná­


lónként. (Például a http://kbgy.hu/?q=blog/1/feed útvonalon.)

14.4.1. Jogosultságok
A modul beállítható jogosultságai:
 blogbejegyzések létrehozása: ki blogolhasson
 bármely blogbejegyzés törlése : ki moderálhasson
 saját blogbejegyzések törlése : ki törölhesse a saját bejegyzését
 bármely blogbejegyzés szerkesztése : ki moderálhasson
 saját blog szerkesztése: ki módosíthassa a beküldés után a saját bejegyzését
14. Közösségi oldal kialakítása 135. oldal

14.5. Tartalmak megosztása RSS csatornákon


Először nézzük meg röviden72, mi is az RSS:
„Az RSS webes együttműködésre szolgáló XML állományformátumok családja, mely
megkíméli a felhasználókat attól, hogy az ilyen megoldást használó weboldalakat
rendszeresen kelljen látogatniuk az új tartalom ellenőrzése miatt, vagy levélben kelljen
értesítést kapniuk erről. Egy feed-olvasóként vagy aggregátorként ismert program
képes ellenőrizni az RSS-t használó weboldalakat a felhasználó helyett és képes megje­
leníteni a frissített cikkeket. (Például a csak hetente-havonta frissülő, de egyébként ér­
dekes blogokat nem kell minden nap meglátogatni, hogy van-e rajtuk új poszt, ha van,
akkor az megjelenik a feed-olvasóban.)” 73
A kezdőoldalon is megjelenő tartalmaink megosztására könnyedén tudunk szolgáltatást
nyújtani. Ennek legegyszerűbb módja a Tartalom megosztása blokk (138. ábra) bekap­
csolása, aminek hatására elérhetővé válik egy RSS ikon, amihez az rss.xml útvonal van
rendelve.

138. ábra: Tartalom megosztás

Ezen kívül bizonyos sminkek speciálisabb RSS csatornákhoz is adhatnak linkeket, pl. a
Kategóriák alapján (pl. taxonomy/term/31/feed útvonal), vagy a Blog modul csoportosí­
tása szerint (blog/1/feed). (Természetesen az RSS csatornákat nem a smink állítja elő,
csak az útvonalakat leshetjük el belőle.)

14.6. Az Aggregator modul


Az Aggregator modul lehetővé teszi, hogy a honlapunkon más honlapok RSS kimeneteit
tartalomként automatikusan megjelenítsük.
Nézzük meg az admin/content/aggregator oldalt (139. ábra).

72
Érdemes az http://itmegoldasok.hu/blog/plugin/tag/rss cikkeket elolvasni.
73
Forrás: http://hu.wikipedia.org/wiki/RSS
136. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

139. ábra: A Hírolvasó áttekintése

14.6.1. Hírcsatorna létrehozása


A csatorna egyetlen RSS forrás definiálását, a letöltések elvégzését és publikálását teszi
lehetővé. Működéséhez cron futtatás szükséges, hiszen nem állandóan, csak bizonyos
időközönként van szükség (és lehetőség) a távoli szerver meglátogatására, a csatorna
tartalmainak letöltésére.
Hozzunk létre egy új csatornát (140. ábra).

140. ábra: Hírcsatorna hozzáadása

A címen kívül természetesen az URL-t és a frissítési időt is meg kell adnunk. (Ez utóbbi
az az idő, amennyi maximális késéssel az RSS tartalmak megjelennek az oldalunkon.)
14. Közösségi oldal kialakítása 137. oldal

A csatorna kimenetét a hozzá tartozó blokk bekapcsolásával tekinthetjük meg (141.


ábra).

141. ábra: Hírolvasó blokk

A 141. ábrán érdemes még megfigyelni, hogy (megfelelő jogosultságokkal) lehetőségünk


van egyetlen gombnyomással (b) a tartalomra reflektálva saját tartalmat létrehozni.
További érdekes lehetőségeket nyújt a kategóriák használata, amivel több RSS csatorna
tartalmát együtt, egy blokkban tudjuk kezelni.

14.6.2. Jogosultságok
A modul beállítható jogosultságai:
 hírcsatornák hozzáférése: ki láthassa az aggregált tartalmakat
 hírcsatornák adminisztrációja: ki szerkeszthesse a hírcsatornákat és kategóriá­
kat
138. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

15. További modulok választása, telepítése


Ahogy az eddigiekben láthattuk, a Drupal alapcsomagjában található alap (core) modu­
lok segítségével igen sok szolgálatatáshoz jutunk. A Drupal erejét tovább növeli, hogy az
6-os verzióhoz több ezer kiegészítő modul érhető el. Természetesen ezen modulok minő­
ségében nem bízhatunk meg ugyanúgy, „vakon”, mint az alap modulok esetén, de körül­
tekintő alkalmazásukkal igen sok programozói munkától kímélhetjük meg magunkat.
A következő moduloknak csak a szerző által fontosabbnak ítélt beállításai, funkciói ke­
rülnek bemutatásra.

15.1. Általános információk

15.1.1. Hogyan válasszunk modult?


A modul jó minőségére utaló jelek, ha
 ez már a sokadik verzió (tehát nem 0.1, hanem pl. 1.6-os)
 van hozzá minél több nyelvi fordítás (vannak, akik annyira jónak tartják, hogy a
fordításra időt szánnak)
 a drupal.hu-n pozitív értelemben utalnak rá
 sokan használják
Most néhány olyan kiegészítő modullal folytatjuk ismerkedésünket, amelyek általánosan
használhatóak, és a szerző saját tapasztalatai szerint is megfelelnek az elvárásoknak.
Természetesen nagy átfedés van a fejezet és a Drupal közösség által preferált modulok
között:
 A legtöbb helyen használt modulok:
http://drupal.org/project/modules?solrsort=sis_project_release_usage desc
 A fejlesztők kedvenc moduljai:
http://drupalmodules.com/top-favorites

15.1.2. Modulok letöltése


A Drupal hivatalos webhelyén, a http://drupal.org/project/modules oldalon igen nagy­
számú, és sokféle funkciót megvalósító modult találhatunk. (Ráadásul erre az informá­
ciómennyiségre ráépült http://drupalmodules.com/ oldal egy alternatív kereshetőséget
is ad.)
A letöltés előtt érdemes megfontolni a következőket:
 a kiegészítő modulok helyes működése nem garantált
 minden ismeretlen modult először egy teszt környezetben próbáljunk ki
 a fejlesztői (dev) változatokat csak nagy körültekintéssel érdemes éles környezet­
ben alkalmazni
 a modul letöltése előtt válasszuk ki az alapcsomagunkhoz illő verziót
 a modulok között lehetnek ún. függőségek, amelyek miatt egyes modulok csak
más modulokkal együtt lesznek használhatóak
15. További modulok választása, telepítése 139. oldal

15.1.3. Modulok telepítése


A kiegészítő modulokat .tar.gz kiterjesztéssel tölthetjük le. E tömörített állomány tar­
talmát kell a szerverre feltöltött Drupal alkalmazásunk sites/all/modules74 alkönyvtárá­
ba másolnunk.
A legtöbb modul tartalmaz README.txt és/vagy INSTALL.txt fájlt. Ekkor elsődlegesen
e leírás szerint kell eljárnunk. A legtöbb esetben a következő lépésekre lesz szükségünk.
A modulunk annak engedélyezéséig még használhatatlan marad. Egy modul működését
engedélyezni, vagy éppen letiltani az admin/build/modules oldalán tudjuk. (Tényle­
gesen itt többről is szó lehet, mint engedélyezésről, de a háttérben végbemenő folyama­
tok ismertetése túlmutat e jegyzet keretein. Részletes információk a modul dokumentá­
ciójából és forrásának tanulmányozásából nyerhetők.)
A modul tényleges használata előtt még konfigurálnunk is kell azt. Ez többnyire az
Adminisztráció oldalon megjelenő újabb menüpontok segítségével tehetjük meg. Érde­
mes azonban a modulban található readme.txt és/vagy install.txt fájlokat is alaposan át­
tanulmányozni, egyes modulok esetén bonyolultabb lehet a beüzemelés folyamata.

15.1.4. Modulok eltávolítása


Igen gyakori hiba, hogy a kipróbált modulokat nem megfelelően távolítjuk el. A lehető
legrosszabb megoldás, ha egyszerűen a modul szerverre feltöltött könyvtárát és állomá­
nyait letöröljük.
A helyes megoldás:
1. Kapcsoljunk offline módba az admin/settings/site-maintenance oldalon.
2. Kapcsoljuk ki a modult az admin/build/modules oldalon.
3. Távolítsuk el (uninstalláljuk) a modult az admin/build/modules/uninstall olda­
lon
4. Teszteljük a helyes működést.
5. Töröljük a modul állományait.
6. Kapcsoljunk online módba.

15.2. Az Administration Menu modul


Verzió: admin_menu-6.x-1.5.
Honlap: http://drupal.org/project/admin_menu
Az adminisztrációs feladatok döntő része az Adminisztráció menüből érhető el – több­
nyire 2-4 oldalletöltés után. Az Administration Menu modul lehetővé teszi, hogy az Ad­
minisztráció menü legtöbb szolgáltatása újabb oldalletöltés nélkül bárhonnan elérhető
legyen. A 142. ábrán jól látható, hogy akár a kezdőoldalról is közvetlenül (egy oldalletöl­
tés árán) el tudunk jutni a Felhasználó hozzáadása oldalra.

74
Elvileg a modules alkönyvtár is alkalmazható a célra, de a Drupal hivatalos ajánlását nem érdemes fi­
gyelmen kívül hagyni. (Előbb-utóbb úgyis minden kétkedő megtapasztalja ennek hátrányait.)
140. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

142. ábra: Az Administration menu modul használat közben

A modul telepítése a szokásos módon történik. Az (admin/settings/admin_menu) alap­


beállításokkal máris működőképes.

15.2.1. Jogosultságok
A modul beállítható jogosultságai:
 access administration menu: ki lássa az admin menüt
 display drupal links: ki lássa a drupal.org-ra mutató menüpontokat

15.3. A BUEditor modul


Verzió: bueditor-6.x-1.3.tar.gz.
Honlap: http://drupal.org/project/bueditor
A modul segítségével nagyon jó forráskód (HTML) szintű szövegszerkesztőt kapunk. A
használójának minimális HTML ismeretekkel kell ugyan rendelkezni, de cserébe a lehe­
tő legjobban75 kontrollálhatjuk a tartalmaink kinézetét (143. ábra).

75
Az ún. wysiwyg szerkesztők a mai napig hagynak némi kívánnivalót.
15. További modulok választása, telepítése 141. oldal

143. ábra: BUEditor link készítése közben

15.3.1. Használat
A szerkesztés logikája sok szempontból hasonlít az ismert szövegszerkesztőkre.
1. Vigyük a kurzort a kívánt helyre (pl. kép beszúrásához), vagy jelöljük ki a szöveget
(pl. egy link készítéséhez). (Az ábrán ugyan nem látszik, de az utolsó sorban lát­
ható korábbi bejegyzésem szöveg lett kijelölve.)
2. Kattintsunk a kívánt gombra. (Pl. az ábrán piros szegéllyel látszó (második) link
ikonra.)
3. Ha szükséges, töltsük ki értelemszerűen a felugró ablak mezőit. (Az ábrán az
URL-t kellett beírni.)
4. Ha szükséges, utólag javítsunk a HTML kódban.
Jól látszik tehát, hogy itt elsősorban a csupasz HTML kód gépelésében kapunk támoga­
tást, de a HTML alapismerete nélkül a szerkesztő nem igazán használható.

15.3.2. Konfigurálás
A beviteli formákhoz hasonlóan az editorok is más-más lehetőségeket nyújthatnak a kü­
lönböző csoportok számára. Az admin/settings/bueditor oldalon editor-konfigurációkat
állíthatunk össze, amit a csoportokhoz rendelhetünk. Sokszor az alapértelmezett beállí­
tások (144. ábra) is megfelelőek lehetnek.
142. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

144. ábra: A BUEditor konfigurálása

Az Add new editor vagy Szerkesztés linkeken a megjelenő ikonokat állíthatjuk be.
Végül érdemes megemlíteni, hogy a beviteli formákat és az editor beállításokat érde­
mes egymáshoz igazítani. Mert ugye semmi értelme olyan HTML tagokat beszúrni a
szövegbe, amelyeket a beviteli forma úgyis kiszűr.
Az editornak nincs ezen kívül jogosultság-beállítási lehetősége az admin/user/permis­
sions oldalon.

15.4. A Captcha modul


Verzió: captcha-6.x-1.0-rc2.
Honlap: http://drupal.org/project/captcha
A Captcha modul megpróbálja megakadályozni, hogy a bot programok76 regisztrálni,
vagy névtelenül hozzászólást beküldeni tudjanak.
A Captcha modul nem egy, hanem három, egymásra épülő modul. Célja, hogy a honla­
pokat linkekkel teleszemetelő robotok ellen védelmet nyújtson. Legelterjedtebb megol­
dása (Image captcha) egy képre generált ellenőrző kód alapján működik (145. ábra) , de
sokan alkalmazzák a szöveges kérdéseket is (Text captcha).

76
A spam hozzászólásokat bizonyos intelligenciával rendelkező programok küldik, többnyire zombi gépek­
ről (a gép tulajdonosának tudta nélkül).
15. További modulok választása, telepítése 143. oldal

145. ábra: Az Image Captcha modul működése

15.4.1. Konfiguráció
A konfigurációs oldalon több oldalhoz (pl. regisztráció) beállíthatjuk, hogy melyik capt­
cha módot akarjuk használni, vagy akár el is tekinthetünk az oldalon ettől (146. ábra).

146. ábra: Captcha beállítások

15.4.2. Image captcha


A 147. ábra az Image captcha beállításait mutatja. Mindenképpen érdemes egy jó Tru­
eType betűkészletet feltöltenünk, és azt használnunk. A többi beállítást a vizuális vissza­
jelzés (admin/user/captcha/captcha/examples oldal) miatt igényeinknek megfelelően
könnyen belőhetjük (147. ábra).
144. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

147. ábra: Az Image captcha beállításai

15.4.3. Jogosultságok
A modul beállítható jogosultságai:
 administer CAPTCHA settings: ki tudja a modult konfigurálni
 skip CAPTCHA: kik azok, akik felmentést kapnak az ellenőrzés alól
A szerző véleménye szerint általában elegendő a be nem jelentkezett látogatókat ellen­
őrizni. Így aki már a regisztrációnál túljutott az ellenőrzésen, azt többször nem kell za­
varnunk.

15.5. A Content Access modul


Verzió: content_access-6.x-1.1.tar.gz.
Honlap: http://drupal.org/project/content_access
A tartalmak hozzáférését – elvi szinten – a Drupal finomabban tudja szabályozni, mint
ahogy azt a Jogosultságok beállításainál eddig láthattuk. Ha az eddigieknél speciálisabb
15. További modulok választása, telepítése 145. oldal

igények lépnek fel, akkor valamilyen kiegészítő modulra van szükségünk. Ezek közül
egyik legismertebb a Content Access modul.

15.5.1. Elméleti háttér


A Drupal-ban kétfajta szinten lehet jogosultságokat állítani: funkcionális és tartalmi
szinten.
Ha valamit tiltunk funkcionális szinten, akkor magához a funkcióhoz sem fogunk hozzá­
férni. Ezért ha pl. egy csoportnak a tartalom adminisztráció funkcióhoz nincs jogosult­
sága, akkor nem állíthat semmilyen más tartalom szintű jogosultságot sem. Ha van joga
a funkcióhoz, utána még kell jogosultság a tartalom alapú hozzáféréshez is.
Az alaprendszerben nincs olyan modul, amivel a tartalom elérési jogosultságokat lehet­
ne állítani, de maga a rendszer működik.

15.5.2. Konfiguráció
A modul bekapcsolása után egy szokatlan üzenetet kapunk:
A tartalom jogosultságok értékeit újra kell építeni.
Az admin/content/node-settings/rebuild linket követve egy komoly figyelmeztetést ka­
punk:
Ez a művelet minden webhelyen található tartalomhoz kapcsolódó jogosultságokat
frissíti, és ez sok időt vehet igénybe. A művelet nem vonható vissza.
A modul beüzemelésének következménye lesz, hogy jelentősen megnőhet az adatbázis
mérete, és valamivel lassulhat a rendszerünk.
A modul beállításai alapvetően tartalom típusonként érvényesülnek, így a konfigurációt
is a tartalom típusoknál keressük. Pl. az admin/content/node-type/oldal/access oldalon
az oldal típusú tartalmak beállításait tehetjük meg (148. ábra).
146. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

148. ábra: Content access beállításai tartalom típusonként

Az ábrán látható, hogy ha nem változtatunk semmit, a tartalomtípus a szokásos módon


érhető el.
Elvileg van lehetőség (Per content access control settings) minden tartalomra külön-kü­
lön beállítani a jogokat a tulajdonos által. Ezt a lehetőséget azonban csak indokolt eset­
ben és komoly körültekintéssel érdemes kihasználni.

15.6. Az External Links modul


Verzió: extlink-6.x-1.7.
Honlap: http://drupal.org/project/extlink
Az External links modul a honlapról kifelé mutató linkekhez kapcsolódó szolgáltatáso­
kat nyújt. A konfigurációja (admin/settings/extlink) igen egyszerű, mindössze az alábbi
beállítási lehetőségei vannak (149. ábra).
15. További modulok választása, telepítése 147. oldal

149. ábra: Az External links configurációja

 akarjuk-e a 149. ábrán is látható ikont a linkek,


 és mailto linkek után
 az aldoméneket belső oldalnak tekintjük-e (ha igen, akkor az előző kép se fog
megjelenni)
 új ablakban77 akarjuk-e a külső linkeket megnyitni.

15.7. Az FCKEditor modul


Az FCKEditor78 vizuális szerkesztő Drupal alá illesztésének hagyományos eszköze ez a
modul. Sok előnye miatt azonban ma már inkább a Wysiwyg modul (15.20. fejezet)
ajánlható.

15.8. A Global Redirect modul


Verzió: globalredirect-6.x-1.2.tar.gz.
Honlap: http://drupal.org/project/globalredirect
A modul megszünteti a Path modul használata miatti URL többszörözéseket. (SEO
szempontból nagyon fontos a többszörös tartalmak kerülése.)
Konfigurációt nem igényel.

77
A szerző személyes véleménye szerint ez inkább a látogatókra kellene bízni, ezért a bekapcsolását nem
javasolja.
78
http://www.fckeditor.net/
148. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

15.9. A Google Analytics modul


Verzió: google_analytics-6.x-2.2.tar.gz.
Honlap: http://drupal.org/project/google_analytics
A Google Analytics79 a Google ingyenes szolgáltatása, ami a weboldal látogatóiról készít
és prezentál részletes statisztikát. Fő célkitűzése, hogy a webmesternek segítsen a rek­
lámkampányok optimalizálásában, azáltal, hogy megmutatja, a látogatók honnan kattin­
tottak át, mennyi időt töltenek a weboldalon, illetve hogy földrajzilag hol találhatók.80
A modul a admin/settings/googleanalytics oldalon konfigurálható. Legfontosabb beál­
lítás a Google Analytics oldalon a weboldalhoz kapott account number beillesztése (150.
ábra).

150. ábra: A Google Analytics konfigurálása

A további beállítások módosításához a Google Analytics szolgáltatás alapos ismerete is


szükséges.

15.10. Az Image modul


Verzió: image-6.x-1.0-alpha4.
Honlap: http://drupal.org/project/image
Az Image modul lehetővé teszi, hogy képeket küldjünk be tartalomként, azokat galériá­
ba szervezzük, a képeket más tartalomtípusokhoz kapcsoljuk, vagy akár tömeges impor­
tálást is végezhetünk. Ennek megfelelően a modul öt részre osztható: az alap Image mo­
dulra négy kiegészítő modul épül (Image Attach, Image Gallery, Image Import, Image
Magick Advanced Options).

79
http://www.google.com/analytics/
80
forrás: http://hu.wikipedia.org/wiki/Google_Analytics
15. További modulok választása, telepítése 149. oldal

15.10.1. Az Image alap modul


Az alap Image modul engedélyezése esetén a létrejövő Kép tartalomtípust használva tar­
talomként küldhetünk be egy képet. Konfiguráláskor (admin/settings/image) egy kije­
lölt feltöltési könyvtárat, megengedett legnagyobb méretet, valamint különböző megje­
lenítési módok maximális méreteit állíthatjuk be (151. ábra).

151. ábra: Image modul alapbeállításai

A Jogosultságok között a tartalomtípusoknál szokásos jogok mellett az eredeti kép meg­


tekintése jogot állíthatjuk még.
Konfiguráció után a jogosultsággal rendelkező látogatók esetén már nincs akadálya a
kép beküldésének.

15.10.2. Az Image Attach modul


Az Image Attach engedélyezése esetén a tartalmainkhoz (hasonlóan a csatolt állomá­
nyokhoz) képeket is csatolhatunk. Itt azonban a képről – alapértelmezés szerint – kis
méretben (Bélyegkép, 151. ábra) egy kattintható link jelenik meg a szövegbe ágyazva.
Először a tartalomtípusok beállításainál (152. ábra) állítsuk be, hogy
 akarjuk-e engedélyezni a csatolást,
 az előnézetben milyen méretű kép jelenjen meg,
150. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

 az előnézetben hol helyezkedjen el a kép, és


 ugyanezek teljes nézethez.

152. ábra: Az Image Attach beállításai tartalom típusonként

Ezután egy tartalom beküldésekor vagy szerkesztésekor kiválaszthatunk egy már Létező
kép tartalmat, vagy létrehozhatunk és egyúttal be is illeszthetünk egy újat (153. ábra).

153. ábra: Kép csatolása tartalom beküldésekor

Természetesen ebben az esetben a kép tartalom további jellemzőit csak utólag tudjuk
szerkeszteni.
15. További modulok választása, telepítése 151. oldal

15.10.3. Az Image Gallery modul


A modul a beküldött Kép tartalmak galériába szervezését teszi lehetővé.
Előfeltétele a Taxonomy modul. A galériák struktúrája tulajdonképpen egy szótár, me­
lyet az admin/content/image oldalon kezelhetünk.
Az admin/settings/image/image_gallery oldalon beállíthatjuk az egy galéria oldalon
megjelenő képek számát, és kikapcsolhatjuk a sokak szerint zavaró node információkat
(dátum, beküldő) és beállíthatjuk a sorrendezés logikáját (154. ábra).

154. ábra: Az Image Gallery beállításai

Ettől kezdve egy Kép tartalom beküldésekor egyből megadhatjuk azt is, hogy melyik ka­
tegóriába tartozik.
A végeredmény magáért beszél: téma szerint böngészhető galéria oldalakat kaptunk
(155. ábra).

155. ábra: Galéria navigáció

A modul egyetlen jogosultsági beállítása, a képek adminisztrációja a beküldött kép galé­


riába illesztését határozza meg.
152. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

15.10.4. Az Image Import modul


Az Image Import modul segítségével képek tömeges importálását oldhatjuk meg. Ehhez
először is a Kép importálás (admin/settings/image/image_import) adminisztrációs ol­
dalon be kell állítanunk azt a könyvtárat, amelyikbe FTP eléréssel a képeket fel akarjuk
tölteni, majd a Kép importálás (admin/content/image_import) oldalon folytassuk a
tömeges importálást (156. ábra).

156. ábra: Képek importálása

Itt egy listát kapunk a könyvtárban talált fájlokról (amit az FTP kapcsolatunkkal közben
feltöltöttünk), amiből kiválaszthatjuk, hogy melyeket akarjuk importálni, melyik galériá­
ba kerüljenek a képek, és szövegeket is kapcsolhatunk a képeinkhez. Itt is beállíthatjuk a
leendő kép tartalmak alapjellemzőit, a kiválasztott galériát.
Ha túl sok nagy képet próbálunk egy lépésben importálni, akkor a PHP memória elfogy­
hat. Emiatt érdemes egy lépésben csak néhány tucat képpel próbálkozni.

15.11. Az IMCE modul


Verzió: imce-6.x-1.2.
Honlap: http://drupal.org/project/imce
Az IMCE modul a fájlok feltöltéséhez, kezeléséhez, és speciálisan képek feldolgozásához
használható nagyszerű modul.
Alapvetően elérhető vele, hogy a felhasználók a szerveren elkülönített saját könyvtáruk­
ba feltölthessenek állományokat (157. ábra). A feltöltött fájlok többféle módon felhasz­
nálhatóak. Például lehetőség van egy feltöltött képet átméretezni, és később akár több
oldalba is beilleszteni a kép újabb feltöltése nélkül.
A felhasználók számára tárterület-kvótát is alkalmazhatunk.
15. További modulok választása, telepítése 153. oldal

157. ábra: IMCE működés közben

A saját tárterület alapvetően a Saját adatoknál érhető el.


Igen gyakori, hogy az IMCE modult a vizuális szerkesztővel integráltan is használjuk.
Erre a vizuális editorok natív (és a Wysiwyg modul miatt elavult) illesztő moduljaival is
kapcsolatot építhetünk ki, de az IMCE Wysiwyg API bridge modullal lehetőség van a
Wysiwyg modullal való együttműködésre is.

15.12. A Lightbox2 modul


Verzió: lightbox2-6.x-1.9.
Honlap: http://drupal.org/project/lightbox2
A Lightbox2 modul segítségével képeink megjelenítését a látványos Lightbox81 effektus­
sal fűszerezhetjük.

81
http://www.huddletogether.com/projects/lightbox2/
154. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

158. ábra: A Lightbox2 működés közben

A konfigurációja (admin/settings/lightbox2) igen összetett. Itt most egyedül az Image


modullal való együttműködést nézzük meg.
Az admin/settings/lightbox2/automatic oldalon adhatjuk meg a modulnak, hogy a ké­
pek hogyan is kerültek az oldalunkra. Itt az Image node settings doboz egyetlen beállítá­
sát kell mindenképpen megtennünk: az Automatic handler for image nodes értékét ál­
lítsuk Lightbox grouped-re (159. ábra).
15. További modulok választása, telepítése 155. oldal

159. ábra: A Lightbox automatikus beállításai

15.13. A Pathauto modul


Verzió: pathauto-6.x-1.1.
Honlap: http://drupal.org/project/pathauto
A tartalmaink útvonalának (URL) egységes kezelése nem egyszerű feladat: sok-sok gépe­
lésre ítél bennünket. E modul igen sokféle módon teszi lehetővé az útvonalaink automa­
tikus előállítását.
Ha a tartalom beküldőnek nincs útvonal álnevek létrehozása jogosultsága, akkor neki
nincs is jogosultsága az útvonal beállítására. Akinek pedig van, annak sem kell kézzel ki­
tölteni, hiszen a modul automatikusan létrehozza azt (160. ábra).

160. ábra: Tartalom beküldésekor automatikusan létrejövő álnév


156. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

A modul működésének alapelve, hogy a cím alapján generál kisbetűs és ékezetek nélküli
útvonalat. Ehhez a modul könyvtárában található i18n-ascii.example.txt állományt
i18n-ascii.txt névre kell rövidítenünk, hogy a benne található megfeleltetések alapján82
tudja az ékezetes betűk ékezet nélküli verzióit meghatározni.
Az admin/build/path/pathauto oldal (ami az Útvonal álnevek oldal alá épül be) igen
sok beállítást tartalmaz, néhány lényegesebbet nézzünk meg.
Az Általános beállítások alatt két dolgot érdemes minimum beállítani:
 Az ékezetes karakterek korrekt kezeléséhez kapcsoljuk be: Transliterate prior to
creating alias, és kapcsoljuk ki: Reduce strings to letters and numbers from AS­
CII-96
 A törlésre javasolt rövid angol szavakat is érdemes eltávolítani (Strings to Remo­
ve).
A Node path settings alatt nézzünk meg pár tipikus beállítást, ami alapján a további be­
állítások kikövetkeztethetők.
 alapvetően a tartalmak esetén: [title-raw] a címet fogja alapul venni
 blog esetén: blog/[user] a felhasználói nevet helyettesíti a blog/ után
 fórum esetén: [vocab]/[catpath] a fórum szótár és a fórum téma nevét fogja ala­
pul venni
 felhasználó esetén: felhasznalo/[user] a felhasználói nevet helyettesíti a felhasz­
nalo/ után
Figyelembe lehet venni a generáláskor pl. a dátumot is.
Több blokk esetén van lehetőség használni a Bulk generate aliases kapcsolót. Ebben az
esetben az összes olyan útvonal automatikusan generálásra fog kerülni, ahol még nincs
alias.
A Create feed aliases segítségével az RSS csatornák generálását írhatjuk elő.
Végül a generált Útvonal álnevek listáját az admin/build/path oldalon tekinthetjük
meg.

15.14. A Poormanscron modul


Verzió: poormanscron-6.x-1.0.
Honlap: http://drupal.org/project/poormanscron
A Poormanscron modul lehetővé teszi időzített feladatok futtatását akkor is, ha a szol­
gáltató egyébként nem nyújt cron futtatási lehetőséget. Az időzített feladatokból ugyanis
kisebb, még nem zavaró részletekben a felhasználói kéréseket terheli meg.
Többek között szabályozhatjuk a két futtatás közötti minimálisan eltelt időt, valamint a
naplózás lehetőségét is. Általában az alapbeállítások megfelelőek.

82
E megfeleltetések nem minden esetben megfelelőek. Például e verzió a ő és ű betűket oe és ue betűkre
cseréli. Ekkor az UTF-8 kódolású fájlt megfelelő editorral (pl. Notepad++) szerkeszthetjük.
15. További modulok választása, telepítése 157. oldal

15.15. A Simplenews modul


Verzió: simplenews-6.x-1.0-rc6.tar.gz.
Honlap: http://drupal.org/project/simplenews
A modul segítségével a (regisztrált vagy névtelen) látogatók fel tudnak íratkozni a hon­
lap egy vagy több hírlevelére.
A látogató többnyire egy blokkban látható felíratkozási lehetőséggel, és – ha a honlapon
is elérhetőek, – a korábbi hírlevelek megtekintésének lehetőségével találkozik (161. áb­
ra). A regisztrált látogatók kissé eltérő űrlapon jelentkezhetnek.

161. ábra: Hírlevél blokk

A modul beüzemelése során egy új Newsletter issue tartalomtípus és Newsletter szótár


jön létre. Ezeket a szokásos módon testre szabhatjuk (pl. magyaríthatjuk).
Az admin/settings/simplenews oldalakon az általános beállításokat, az admin/content/
simplenews oldalakon a hírlevelekkel kapcsolatos beállításokat végezhetjük el.

15.16. A SpamSpan modul


Verzió: spamspan-6.x-1.3.
Honlap: http://drupal.org/project/spamspan
A SpamSpan modul a szövegekben megjelenő e-mail címek elrejtéséért felelős.
A használata esetén szemlátomást a böngészőben semmi különbség nem látszik, de ha
az oldal forrását megtekintjük, hasonló HTML kódot fogunk látni:
<span class="spamspan">
<span class="u">nagy.gusztav</span>
[at]
<span class="d">gamf [dot] kefo [dot] hu</span>
</span>
158. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

A modul szerver oldalon így „elrontja” az e-mail címeket, hogy a böngészőben Java­
Script segítségével „kijavítsa” azokat. Ebből a látogató semmit nem vesz észre, de a spam
robotok munkáját jelentősen megnehezíti.
A modul működése beviteli szűrőként történik, így a Beviteli formáknál tudjuk konfigu­
rálni is (162. ábra):
 beviteli formánként tudjuk engedélyezni vagy tiltani
 az engedélyezett beviteli formák beállításánál tudjuk finomhangolni (mit mire
cseréljen):

162. ábra: A SpamSpan finomhangolása

Érdemes az alapbeállításokat lecserélni, hogy ezzel is nehezítsük a robotok dolgát.

15.17. A Tagadelic modul


Verzió: tagadelic-6.x-1.2.
Honlap: http://drupal.org/project/tagadelic
A 9.21.3. fejezetben bemutatott navigációt kicsit tovább viszi a Tagadelic külső modul.
Ennek lényege, hogy a címkéket egy (tartalomjegyzékhez hasonló, ún. címkefelhő) oldal­
ra összegyűjti, és a címkékhez tartozó bejegyzések számosságát betűmérettel szimboli­
zálja (163. ábra).

163. ábra: Címkefelhő


15. További modulok választása, telepítése 159. oldal

Nézzük meg a modul beállításait is (admin/settings/tagadelic oldal, 164. ábra).

164. ábra: Tagadelic beállítások

Természetesen a modul tud blokkot is szolgáltatni, amit a blog oldalon valahol elhelyez­
hetünk (165. ábra).

165. ábra: Tagadelic blokk az oldalon


160. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Jól látszik az ábrán, hogy nem szerencsés túl hosszú, több szóból álló címkéket alkal­
mazni. Néha azonban nehéz elkerülni is.

15.18. Az Ubercart modul


Verzió: ubercart-6.x-2.0-rc3.
Honlap: http://drupal.org/project/ubercart
Az Ubercart modul segítségével komplex elektronikus kereskedelmi szolgáltatáscso­
maggal bővíthetjük Drupal weboldalunkat.
Az Ubercart modul elemei négy csoportba rendezve találhatók meg az admin/build/mo­
dules oldalon. Az Ubercart – core részben találjuk a legalapvetőbb modulokat:
 Cart: bankkártyák kezelése
 Conditional Actions: Feltételes akciók, pl. adók kezeléséhez
 Order: Rendeléstől kezdve a vásárlási folyamat vezérlése
 Product: termékek kezelése
 Store: a „bolt” menedzselése
További hasznos alap modulok:
 Attribute: ha különböző tájékoztató információkat is szeretnénk a termékekről
tárolni (hasonlóan a CCK mezőkhöz)
 Catalog: ha katalógus-szerűen akarjuk a termékeinket csoportosítani, bemutatni
(a Taxonomy-hoz hasonlóan)
 File Downloads: ha letölthető fájl formájában akarunk tájékoztató anyagot kap­
csolni a termékeinkhez
 Payment: fizetési módok kezelése
 Reports: összesítő kimutatások a termékekről, vevőkről és a vásárlásokról
 Roles: vásárlói csoportok megkülönböztetéséhez
 Shipping: szállítási módok kezelése
 Tax Report: adóösszesítés
 Taxes: különböző adók kezelése
A komplex adminisztráció az admin/store oldalról kiindulva vezérelhető (166. ábra).
15. További modulok választása, telepítése 161. oldal

166. ábra: Az Ubercart modul admin oldala

A modul megismeréséhez hasznos bevezető Tolmács Márk előadása83.

15.19. A Webform modul


Verzió: webform-6.x-2.7.
Honlap: http://drupal.org/project/webform
A Webform modul olyan felhasználóktól származó adatgyűjtésre használható, amely
adatok nem a honlap részévé szántak, hanem külső felhasználásra. Tipikus példa a kü­
lönböző jelentkezések lebonyolítása (167. ábra).

83
http://drupal.hu/hirek/20090405/15-dug-tolmács-márk-ubercart
162. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

167. ábra: Jelentkezési űrlap Webform modullal


A modul telepítése után egy Űrlap nevű tartalomtípus jön létre.
Minden egyes űrlap összeállítása egy új Űrlap típusú tartalom beküldését
(node/add/webform) jelenti. Itt néhány általános beállítással kezdhetünk (168. ábra).
15. További modulok választása, telepítése 163. oldal

168. ábra: Űrlap beküldése

Megadhatjuk, hogy melyik felhasználói csoportok tagjai tölthetik ki az űrlapot (Űrlapok


hozzáférésének szabályozása), és megadhatjuk a jelentkezésekkor küldendő e-mailek
alapvető adatait (169. ábra). Sajnos az ábrán az is látszik, hogy a magyar fordítás ennél a
modulnál elég gyenge színvonalú, egyes szövegek kimondottan hibásak vagy félreveze­
tők lehetnek.
164. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

169. ábra: Űrlapok beállításai


Mentés után az űrlap mezőit definiálhatjuk az Összetevők (node/*/edit/components) fü­
lön. A mezők típusai sok hasonlóságot mutatnak a profilok mezőivel (170. ábra).
15. További modulok választása, telepítése 165. oldal

170. ábra: Az Űrlap mezői

Ha úgy gondoljuk, hogy az űrlap kész, akkor közzétehetjük, akár menüpontot is hozha­
tunk létre. Ezután a látogatók már használhatják az űrlapot.
Megfelelő jogosultsággal a beküldött adatok megtekinthetők, vagy le is tölthetők további
felhasználásra (171. ábra).

171. ábra: Űrlap eredmények


166. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

15.20. A Wysiwyg modul


Verzió: wysiwyg-6.x-2.0.tar.gz.
Honlap: http://drupal.org/project/wysiwyg
Ha fontos számunkra a szövegek gyorsan formázhatósága, akkor nem mondhatunk le
valamilyen vizuális szerkesztőről sem (172. ábra). A modul a korábbi módszereknél (pl.
FCKEditor modul, TinyMCE modul) könnyebb telepíthetőséget tesz lehetővé az elter­
jedtebb84 vizuális editorokhoz.

172. ábra: Az FCKEditor működés közben


Az editor használata hasonlít az ismert szövegszerkesztők működésére, de azért a fel­
használók részéről gyakorlási időt is rá kell szánni, és nem hátrány a HTML nyelv alap­
szintű ismerete sem.
A konfigurálást az admin/settings/wysiwyg oldalon kezdjük (173. ábra).

84
Jelenleg a következők támogatottak: FCKeditor 2.6, jWYSIWYG 0.5, markItUp 1.1.5, NicEdit 0.9.0,
openWYSIWYG 1.4.7, TinyMCE 3, TinyMCE 2, Whizzywig 55, WYMeditor 0.5, YUI editor 2.7.0
15. További modulok választása, telepítése 167. oldal

173. ábra: Wysiwyg beállítások


A Telepítési útmutató részletesen leírja, hogy a kiválasztott editort honnan tudjuk letöl­
teni, és hova kell felmásolnunk. Ha ezt megtettük, az oldal frissítése után az egyes bevi­
teli formákhoz beállíthatjuk a kívánt editort, majd finomhangolhatjuk a Szerkesztés
linkre kattintva.
A legtöbb beállítás magáért beszél, igényünknek megfelelően konfigurálhatjuk. Példa­
ként az FCKEditor néhány beállítását nézzük meg (174. ábra).
168. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

174. ábra: Az FCKEditor beállításai

A Nyomógombok és bővítmények részben kiválaszthatjuk, hogy az FCKEditor melyik


funkcióit akarjuk engedélyezni.
A további beállítások értelmezéséhez HTML és CSS ismeretekre van szükség. Általában
célszerű az alapértelmezéseket meghagyni (175. ábra).
15. További modulok választása, telepítése 169. oldal

175. ábra: A HTML kód tisztítása

15.21. További modulok röviden


A következő modulokról csak egy rövid leírást tudunk adni.

Advanced Forum Az alap Forum modul leváltása.

Automatic Nodetitle A tartalmak címét kötelező kitölteni. De ezzel a modullal ezt


generálhatjuk is.

Avatar Selection Saját profil kép helyett előre beállított avatarok használata.

Backup and Migrate Adatbázis mentés és visszaállítás.

Bibliography Module Tudományos publikációk komplex kezelése.

Booktree Egyedi útvonalon egy könyv teljes tartalomjegyzékét láthat­


juk fa-struktúrában.

Calendar Napi, heti, havi és éves naptár nézeteket (Views) hozhatunk


létre. Tartalmakat rendelhetünk hozzá.

Calendar Block Naptár blokkot jelenít meg. (A Calendarral szemben nem


170. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

rendelhetünk hozzá semmit.)

Comment Notify A regisztrált látogató e-mailt kérhet, ha egy tartalomhoz új


hozzászólás érkezik.

Contact Forms Egy alternatíva, ha a Contact modul nem megfelelő.

Content Templates Smink testreszabásához egy érdekes alternatíva.

Content Profile A felhasználóhoz hozzá tudunk kapcsolni egy tartalomtí­


pust, amelyik profil-szerűen működik. Csak egy példányt
hozhat létre. Klasszikus példa az önéletrajz.

Content Taxonomy A szótár kifejezéseihez egy tartalomtípust rendelhetünk. Így


a kifejezéshez CCK-val további mezőket kapcsolhatunk.

Custom Breadcrumbs A kenyérmorzsa menü újabb szituációkban fog hasznosan


működni.

Devel Hasznos segítség smink és modul fejlesztőknek.

Diff Megfelelő jogosultsággal egy tartalom verzióit hasonlíthat­


juk össze. Wiki oldalakon szokásos funkció.

Email Registration Felhasználónév helyett e-mail címmel lehet regisztrálni,


majd belépni.

Faceted Search Alap Search modul leváltása.

Fivestar Tartalmakra lehet értékelést leadni. Az értékelés alapján


blokkokat jeleníthetünk meg.

Flag Tartalmak, felhasználók, megegyzések megjelölésének lehe­


tősége különböző célokból.

Freelinking A beviteli szűrőként működő modul a folyó szövegben gyárt


linkeket egyes szavakra.

Front Page Egyedi kezdőoldal készítése.

GeSHi Filter Forráskód színezett megjelenítése.

Hierarchical Select Többszintű kategóriák esetén speciális funkciók.

Internationalization Többnyelvű oldalakhoz további funkciók.


15. További modulok választása, telepítése 171. oldal

ImageAPI Képekhez kapcsolódó funkciók.

ImageCache Képek kezelése (pl. átméretezés).

Invite Meghívó küldése barátok részére.

LoginToboggan A beléptetést több ponton módosíthatjuk.

Mass Contac E-mail küldés a regisztrált felhasználók csoportjai részére.

Meta tags A HTML meta tagok (kulcsszavak, leírás) kezeléséhez.

Mollom Captcha alternatíva.

Nice Menus Lenyíló menük létrehozása.

Node Clone Tartalmak gyors másolása.

Node Import Tartalmak tömeges importálása CSV fájlból.

Notify E-mail értesítés a honlap változásairól.

Organic groups Csoportok szervezése.

Page Title A HTML oldal title tagjának beállítása.

Panels Összetett szerkezetű oldalak (tipikusan címlap) készítésé­


hez.

Printer, e-mail and PDF Tartalmakhoz nyomtatás, e-mail küldés és PDF verzió funk­
versions ciók.

Profile Permission Egyes profil mezők elrejtése a felhasználó elől.

Protected Node Jelszóval védhető tartalom.

Quotes Véletlenszerű idézetek blokkban.

RealName Valódi név megadható (itt lehet ütközés, szemben a felhasz­


nálónévvel).

Scheduler Tartalmak időzített közzététele vagy elrejtése.

Shoutbox Rövid üzenetek egy blokkban.


172. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Site map Automatikus site map készítése.

SMTP SMTP levélküldés használata.

Storm Projektek menedzselése.

SWF Tools Flash lejátszó beépítése audió és videó fájlok lejátszásához.

Taxonomy Access Taxonómia alapú jogosultságkezelés


Control

Taxonomy Access Taxonómia alapú jogosultságkezelés


Control Lite

Taxonomy hide Taxonómia kifejezések eltávolíthatók a tartalom megjelení­


tésekor.

Taxonomy Image A kifejezések listázó oldalához kép illesztése.

Taxonomy List Kifejezések listázása.

Taxonomy Manager Kifejezések kezelése gyorsabban, tömeges műveletek stb.

Taxonomy Menu Menü (és blokk) létrehozása szótár alapján.

Tell a Friend Barátok meghívása egy közösségi oldalra.

TinyMCE Wysiwyg szövegszerkesztő.

Transliteration A feltöltött állományok nevében található speciális karakte­


reket használhatóakra cseréli.

Upload path Feltöltött fájlok szétválogatása alkönyvtárakba.

User registration notifi­ E-mail értesítés regisztráció esetén.


cation

Userpoints Pontok adományozása felhasználói aktivitásért.

Workflow Munkafolyamat-kezelés állapotok és állapotátmenetek defi­


niálásával.

XML sitemap Keresőrobotok számára sitemap


16. Sminkek használata 173. oldal

16. Sminkek használata


Egy Drupal oldal vizuális megjelenítését a sminkek határozzák meg. A smink lecserélé­
sével vagy módosításával az egész honlap minden oldalának új megjelenést adhatunk85.
Mielőtt a sminkekkel való ismerkedésbe belekezdünk, érdemes az adminisztrációs smin­
ket beállítanunk.

16.1. Az Adminisztrációs smink


Az admin/settings/admin oldalon érdemes a <Rendszer alapértelmezés> helyett a Gar­
land sminkre váltani, hogy egy sminkkel való esetleges problémák könnyebben elhárít­
hatók legyenek (176. ábra).

176. ábra: Adminisztrációs smink beállításai

Előnyös akkor is adminisztrációs sminket használni, ha a publikus smink szerkezete


nem teszi lehetővé (pl. túl keskeny) az adminisztrációs oldalak nagy táblázatainak ké­
nyelmes használatát.

16.2. A Color modul


Egyes sminkek (így az alapértelmezett Garland is) a bekapcsolt Color alapmodullal ké­
pes lesz arra, hogy különösebb munka nélkül is tudjon módosítani a honlap megjelené­
sén, annak átszínezésével (177. ábra).

85
Ezt talán legegyszerűbben úgy lehet megérteni, ha a http://themegarden.org/drupal6/ oldal Next The­
me gombjával más-más sminkekkel nézzük meg ugyanazt az oldalt.
174. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

177. ábra: A Color modul beállításai

Ez azonban sokszor nem elegendő a weboldal egyedi arculatának kialakításához.

16.3. Sminkek telepítése


A modulokhoz hasonlóan külső sminkeket is telepíthetünk Drupal honlapunk alá. Ehhez
a letöltött smink állomány tartalmát a sites/all/themes alkönyvtárba kell másolnunk,
majd a sminket engedélyezni az admin/build/themes oldalon.
Több más hely körött a http://drupal.org/project/Themes oldalról is letölthetünk smin­
keket. Itt is figyelni kell a moduloknál ismertetett minőségi jellemzőkre.
Jó tudni, hogy a sminkek minősége jelentősen eltérhet egymástól. Itt nem csak a vizuális
megjelenésre, vagy a HTML/CSS szabványosságra, hanem további tipikus hibákra is ér­
demes felkészülni. Például:
 nem lefordítható szövegek kerültek a sminkbe
 bizonyos (a Drupal által generált) kimeneti információkat nem jelenít meg (pl. az
ún. kenyérmorzsa menü)
 a beépített Dátum beállításokat nem veszi figyelembe
16. Sminkek használata 175. oldal

 bizonyos moduloktól a smink szétesik


A megfelelő smink kiválasztása után a sminkünket testre is szabhatjuk (178. ábra).

178. ábra: Sminkek beállításai

A sminkek nem minden (egyébként a Drupal által konfigurálható) tartalmi elemet tud­
nak figyelembe venni. A fenti ábra bal oldalán minden kiválasztható, de egyes sminkek
esetén lehetnek szürke elemek is.
Az ábra jobb oldalán látható, hogy tartalomtípusonként lehet a beküldési információk
(név, dátum) megjelenítéséről dönteni. (Például hírek esetén megjeleníteni, de oldalak
esetén nem.)
Egy tetszőleges sminket az oldalhoz (többek között) a következők segítségével tudjuk il­
leszteni:
 logó cseréje
 webhely ikon cseréje
 Webhely információk oldalon a honlap nevének beállítása (47. ábra)
Természetesen ezzel még csak alkalmaztuk, és nem szabtuk személyre a sminket.
176. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

16.4. Jogosultságok
A System modul beállítható, ide kapcsolódó jogosultsága:
 más smink választása: több engedélyezett smink esetén kinek legyen joga saját
kedvencet beállítani

16.5. Sminkek módosítása


Megjegyzés: a fejezet további része csak bevezető jellegű, és – mivel a tárgynak nem
előfeltétele semmilyen webfejlesztői ismeret, ezért – a számonkérésben nem fog
szerepelni.
Az alapcsomagban szereplő vagy más által készített sminkek gyakran nem felelnek meg
a megrendelő és/vagy a látogatók igényeinek. Ezért két lehetőségünk van:
 saját sminket hozunk létre86, vagy
 egy meglévő sminket módosítunk.
Nézzünk néhány egyszerűbb lehetőséget az utóbbira.
Azt érdemes még itt megjegyezni, hogy a következő egyszerű megoldások inkább csak a
tanulás kezdő lépéseinek tekinthetők, komolyabb honlap esetén nem járható ez
az út. Ha hosszabb távon üzemeltethető, karbantartható oldalt szeretnénk, akkor sem­
miképpen nem módosíthatjuk a letöltött sminket. Ehelyett a 16.6. fejezet útmutatá­
sát kell követnünk.

16.5.1. Képek cseréje


Szükséges előismeret: képszerkesztő program alkalmazása.
Sok smink87 tartalmaz (179. ábra) egy fő dekorációs képet (180. ábra), amely alap webes
ismeretekkel cserélhető, és ezzel a honlap témájához illő hangulatra hangolható.

179. ábra: A szerző korábbi honlapja

86
A sminkek létrehozásához vagy módosításához a http://drupal.org/theme-guide/6 oldalon találhatunk
elegendő információt.
87
Például Marinelli, Andreas 02, Terrafirma Theme
16. Sminkek használata 177. oldal

180. ábra: A dekorációs kép

A következő lépéseket kell elvégeznünk:


1. Keressük meg a dekorációs kép pontos helyét a böngészőnk segítségével: a képen
jobb egérgombot nyomva, a helyi menüből válasszuk ki a Háttérkép megjeleníté­
se (vagy hasonló) menüpontot. Ez a szerző által korábban használt GlossyBlue88
smink esetén a sites/all/themes/glossyblue/images/header-bg.jpg (180. ábra).
2. FTP kapcsolatunkkal töltsük le a képet a saját gépünkre. (Készítsünk biztonsági
másolatot is róla!)
3. Képszerkesztő programmal módosítsuk igényeinknek megfelelően, vagy hozzunk
létre ugyanekkora és ugyanilyen nevű képet.
4. Töltsük fel a képet az eredetit felülírva.
5. Frissítsük a böngészőnkben az oldalt.
Ezzel a módszerrel persze egyes további képek is lecserélhetők. Mindig meg kell azonban
győződnünk arról, hogy a kép tényleg eredeti méretében fog-e minden esetben megje­
lenni.
Megjegyzés: a webes tartalmak többlépcsős (böngésző, proxy stb.) gyorsítótárazása
miatt előfordulhat, hogy a kép látszólag nem cserélődik. De a Ctrl + F5 vagy Ctrl + R
kombinációk rövid időn belül segíteni szoktak.

16.5.2. CSS formázás


Szükséges előismeret: HTML és CSS.
Kisebb módosítások bármelyik smink esetén eszközölhetők, de komolyabb módosításra
olyan sminket érdemes választani, amelyik direkt a CSS szintű továbbmódosításra lett
kialakítva89.
1. Keressük meg a sminkünk könyvtárában a style.css fájlt
2. Szerkesszük a CSS szabványnak megfelelően
3. Töltsük fel a sminkhez készített képeinket is a megfelelő (tipikusan images nevű)
alkönyvtárba
4. Teszteljük az oldalak újratöltésével
Tesztelni több, különböző jellegű (egy tartalmat megjelenítő, tartalmakat listázó és űrla­
pokat tartalmazó) oldalon, és több elterjedt böngészőben is érdemes.

88
http://drupal.org/project/glossyblue
89
Például Framework, Zen, Artists C01, Hunchbaque,
178. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

16.5.3. Szerkezeti átalakítás, hibák javítása


Szükséges előismeret: PHP, (sablonrendszerek).
A szerkezeti átalakítás egyszerűbb esete, ha a smink által előállított HTML oldal szerke­
zete nem megfelelő a számunkra. Ekkor a smink page.tpl.php, esetleg block.tpl.php,
box.tpl.php, comment.tpl.php vagy node.tpl.php állományának átszerkesztésére van
szükség.
A következőkben a fenti állományok alapértelmezett verzióiba nézünk bele a teljesség
igénye nélkül. Az egyes sminkek ezeket az alapértelmezett kódokat váltják le, ezért az
egyes sminkek módosításához ezekre az alapismeretekre lesz szükségünk.
Forrás: http://api.drupal.org/api/files

page.tpl.php
Az állomány a minden oldalon egységesen megjelenő HTML keretet és a változó tartal­
mak beillesztését megvalósító PHP nyelvű kódokat tartalmazza.
<?php
// $Id: page.tpl.php,v 1.25.2.2 2009/04/30 00:13:31 goba Exp $
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
lang="<?php print $language->language ?>"
xml:lang="<?php print $language->language ?>"
dir="<?php print $language->dir ?>">
A nyelvi beállítások hatással vannak a HTML kimenetre.
<head>
<meta http-equiv="Content-Style-Type" content="text/css" />
<?php print $head ?>
Pl. a generált meta tagok.
<title><?php print $head_title ?></title>
Az oldal címe és a weboldal neve.
<?php print $styles ?>
<?php print $scripts ?>
</head>
CSS stílusok és Javascript fájlok.
<div class="hide"><a href="#content" title="<?php print t('Skip
navigation') ?>." accesskey="2"><?php print t('Skip navigation')
?></a>.</div>
Böngészőben nem látszó, felolvasó programoknak szóló link a navigációs részek átugrá­
sára. Érdemes megfigyelni, hogy a Skip navigation szöveg fordítható (72. ábra), tehát
ideális esetben itt a látogató nyelvén megfogalmazott szöveg lesz.
<table id="primary-menu" summary="Navigation elements."
border="0" cellpadding="0" cellspacing="0" width="100%">
Az elsődleges linkek menü megjelenítése egy táblában.
<tr>
<td id="home" width="10%">
16. Sminkek használata 179. oldal

<?php if ($logo) : ?>


<a href="<?php print $front_page ?>" title="<?php print
t('Home') ?>"><img src="<?php print($logo) ?>" alt="<?php print
t('Home') ?>" border="0" /></a>
<?php endif; ?>
</td>
Ha a logó megjelenítése be van állítva, akkor ez a kód a logó képét a címlapra mutató
linkként jeleníti meg.
<td id="site-info" width="20%">
<?php if ($site_name) : ?>
<div class='site-name'><a href="<?php print
$front_page ?>" title="<?php print t('Home') ?>"><?php
print($site_name) ?></a></div>
<?php endif;?>
Ha a weboldal nevét meg kell jeleníteni, akkor szintén megjelenik linkként.
<?php if ($site_slogan) : ?>
<div class='site-slogan'><?php print($site_slogan) ?
></div>
<?php endif;?>
</td>
Ha a jelmondatot meg kell jeleníteni, akkor megjelenik.
<td class="primary-links" width="70%" align="center"
valign="middle">
<?php print theme('links', $primary_links, array('class'
=> 'links', 'id' => 'navlist')) ?>
</td>
</tr>
</table>
Az elsődleges linkek a táblázat végén jelennek meg.
A másodlagos linkek kódja hasonló.
Az egyes régiók megjelenítése függ attól, hogy az adott régióban van-e blokk. Például a
left régió:
<?php if ($left != ""): ?>
<td id="sidebar-left">
<?php print $left ?>
</td>
<?php endif; ?>
A többi régió megjelenítése hasonló.
A tartalmat közvetlenül körülölelő kód a következőket tartalmazza:
<div id="main">
<?php if ($title != ""): ?>
<?php print $breadcrumb ?>
Kenyérmorzsa menü.
<h1 class="title"><?php print $title ?></h1>
Az oldal címe.
180. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

<?php if ($tabs != ""): ?>


<div class="tabs"><?php print $tabs ?></div>
<?php endif; ?>
<?php endif; ?>
Fülek.
<?php if ($show_messages && $messages != ""): ?>
<?php print $messages ?>
<?php endif; ?>
Üzenet (pl. sikerült a tartalom mentése).
<?php if ($help != ""): ?>
<div id="help"><?php print $help ?></div>
<?php endif; ?>
Súgó szöveg.
<!-- start main content →
<?php print $content; ?>
A tényleges tartalom (a node.tpl.php alapján generálódik).
<?php print $feed_icons; ?>
<!-- end main content →
</div><!-- main →
Az esetleges RSS ikonok.
Hasonlóan következik a lábléc is.
<?php print $closure;?>
</body>
</html>
Végül az oldal lezárásához szükséges kódok generálódnak.

node.tpl.php
Az állomány a node tartalmát körül vevő tartalmi részeket határozza meg.
<div class="node<?php if ($sticky) { print " sticky"; } ?>
<?php if (!$status) { print " node-unpublished"; } ?>">
Ha kiemelt, vagy nem közzétett egy tartalom, akkor ahhoz CSS class szelektorokat gene­
rál.
<?php print $picture ?>
A szerző képe.
<?php if ($page == 0): ?>
<h1 class="title"><a href="<?php print $node_url ?>">
<?php print $title ?></a></h1>
<?php endif; ?>
Ha az oldal tartalma nem jelenik meg, csak a címe, akkor a címet egyszerű linkként ké­
szíti el.
<span class="submitted"><?php print $submitted ?></span>
Beküldési adatok (tipikusan a dátum és a beküldő neve).
<div class="taxonomy"><?php print $terms ?></div>
Taxonomy kifejezések.
16. Sminkek használata 181. oldal

<div class="content"><?php print $content ?></div>


A node tartalma (amit a beviteli forma szűrői előállítottak).
<?php if ($links): ?>
<div class="links">&raquo; <?php print $links ?></div>
<?php endif; ?>
</div>
A záró linkek (pl. tovább, megjegyzések száma, stb.).

comment.tpl.php
Az állomány a megjegyzések megjelenítését határozza meg.
<div class="comment<?php print ' '. $status; ?>">
Ha van speciális státusz, megjeleníti.
<?php if ($picture) : ?>
<?php print $picture ?>
<?php endif; ?>
Ha van kép, akkor megjelenik.
<h3 class="title"><?php print $title ?></h3>
A megjegyzés címe.
<div class="submitted"><?php print $submitted ?>
<?php if ($comment->new) : ?><span class="new"> *<?php print
$new ?></span><?php endif; ?></div>
Ha új, akkor jelezzük.
<div class="content">
<?php print $content ?>
A megjegyzés szövege.
<?php if ($signature): ?>
<div class="clear-block">
<div>—</div>
<?php print $signature ?>
</div>
<?php endif; ?>
</div>
Ha van aláírás, megjelenik.
<!-- BEGIN: links →
<div class="links">&raquo; <?php print $links ?></div>
<!-- END: links →
</div>
Linkek (pl. Válasz) megjelenik.

block.tpl.php
Az a fájl a régiókban megjelenő blokkokat definiálja.
<div id="block-<?php print $block->module .'-'. $block->delta; ?
>" class="block block-<?php print $block->module ?>">
Speciális id és class értékeket generál a blokkokhoz.
182. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

<?php if ($block->subject): ?>


<h2><?php print $block->subject ?></h2>
<?php endif;?>
Ha van címe, akkor megjelenik.
<div class="content">
<?php print $block->content ?>
</div>
</div>
A blokk törzse.

16.6. Új sminkek létrehozása


Az előző fejezetben bemutatott módszerek komolyabb honlap esetén nem alkalmaz­
hatóak. Ennek oka, hogy a smink egy újabb verziójának közzétételekor komoly problé­
mákba ütköznénk, hiszen a frissítéshez le kellene törölnünk a módosított sminket, és he­
lyette az újabb verziójú (módosítatlan) sminket tudnánk használni. Ezért már a kezde­
tektől fel kell arra készülnünk, hogy a smink frissítése zökkenőmentesen megoldható le­
gyen.
Először nézzük meg a sminkek felépítését a 181 ábra segítségével90.
Az ajánlott megoldás tehát az, hogy a kiválasztott sminket (legyen az egy egyébként vég­
legesnek, vagy éppen továbbfejlesztésre szánt) nem változtatjuk meg, hanem al-sminket
hozunk létre. (Egyes sminkeknél, mint pl. a Zen, speciális megoldást ír elő a smink ké­
szítője, de a sminkek nagy részénél a következő megoldást alkalmazhatjuk.
A fejezet további részében a 960 Robots91 sminkhez fogunk al-sminket létrehozni. Ez a
smink a 960 Grid System92 alapjaira építve a dizájnerek álma. Az aprólékos kivitelezés
helyett többnyire csak a lényegesebb dolgokkal kell foglalkoznunk.
Az al-smink létrehozásának oka a speciálisabb régió-használati igények: a címla­
pon egymás mellett kisebb blokkokat szeretnénk egymás mellé pakolni.

90
Forrás: http://drupal.org/node/171194
91
http://drupal.org/project/ninesixtyrobots
92
http://960.gs/
16. Sminkek használata 183. oldal

181. ábra: A sminkek működése

16.6.1. A smink könyvtára


Először is el kell neveznünk az új sminkünket mind emberi, mind gépi azonosításra. Az
egyszerűség kedvéért a továbbiakban a GAMF (gamf) nevű sminket fogjuk létrehozni.
A sites/all/themes vagy a themes könyvtárnak tartalmaznia kell a kiválasztott szülő
sminket is.

gamf.info93
Általában érdemes a szülő smink .info állományát lemásolnunk, és azt tovább szerkesz­
teni.
Esetünkben a következő adatokat kell megadnunk:
 name: a smink neve
 core: a drupal verziószáma, amelyikhez a smink készül
 engine: melyik smink motorra épít (szinte kizárólag phptemplate szokott lenni)

93
Forrás: http://drupal.org/node/171205
184. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

 base theme: melyik smink tekinthető szülőnek


; $Id: gamf.info,v 1.0 2009/08/18 12:20:00 add1sun Exp $
name = GAMF
description = 960 Robots alapú alsmink a GAMF honlapja számára
core = 6.x
php = 5.2.0
engine = phptemplate
base theme = ninesixtyrobots
Négy új régiót hoztunk létre:
regions[content_top_1] = Content top 1
regions[content_top_2] = Content top 2
regions[content_top_3] = Content top 3
regions[content_bottom] = Content bottom
A szülő sminkhez képest néhány apróbb CSS változtatást a
stylesheets[all][] = css/gamf.css
sorral tudjuk hozzávenni.

Sablon (template) állományok


A 16.5.3. fejezetben ismertetett .tpl.php állományok közül azokat kell létrehoznunk, és
az ott ismertetetthez hasonló tartalommal ellátnunk, amelyek esetén a szülő megoldása
nem megfelelő a céljainknak.
Esetünkben a page.tpl.php állomány az új régiókat is meg kell, hogy jelenítse:
<?php if (!empty($content_top_1) or
!empty($content_top_2) or
!empty($content_top_3)): ?>
<div id="content_top" class="grid_12">
<div class="grid_4"><?php print $content_top_1 ?></div>
<div class="grid_4"><?php print $content_top_2 ?></div>
<div class="grid_4"><?php print $content_top_3 ?></div>
</div>
<?php endif; ?>
Így – némi CSS kiegészítéssel – a blokkjaink a megfelelő helyeken megjeleníthetőek.

template.php
Ezt az állományt olyan esetben kell létrehoznunk, ha a smink alapértelmezett működé­
sét jelentősen módosítanunk kell.

További állományok
Igen jellemző, hogy a szülő smink style.css állománya mellett vagy helyett a sajátunkat
szeretnénk használni. De a dekorációs képeket is el kell helyeznünk a megfelelő helyen,
többnyire a sminkünk images alkönyvtárában.
Drupalban a sminkeléssel igen jelentősen bele tudunk avatkozni a Drupal működésébe.
Ennek ismertetése azonban túlmutat a jegyzetünk lehetőségein.
További ismereteket szerezhetünk a sminkelésről, ha az általunk jól ismert sminkek for­
ráskódját tanulmányozzuk.
17. A Views modulok 185. oldal

17. A Views modulok


A Views modul a tartalmak, felhasználók, hozzászólások, csatolt fájlok, kifejezések stb.
listázására szolgál.
Egyes Drupal funkciók (pl. a címlap) leválthatók, majd módosíthatóak a nézetek segítsé­
gével. De teljesen új területen is használhatjuk ezt a komplex modult.

Views alapmodulok
Verzió: views-6.x-2.6.tar.gz.
Honlap: http://drupal.org/project/views
A modul telepítéséhez kapcsoljuk be a Views modult, hogy nézeteink lehessenek, és a
Views UI modult, hogy a nézeteket szerkeszthessük, újakat hozhassunk létre. Ez utóbbi
modulra csak a fejlesztés idejére lesz szükségünk, a nézetek elkészülése után javasolt ki­
kapcsolni. A Views exporter modul nézetek más honlapra másolásakor lehet segítség.

17.1. Nézetek áttekintése


Az admin/build/views a nézeteink kezelését és létrehozását lehetővé tevő oldal (182. áb­
ra).

182. ábra: Nézetek listája

Egyenlőre a modul nincs semmilyen hatással az oldalunkra. Az ábrán is látható nézetek,


amelyek alapvető Drupal funkciókat ki tudnak váltani, vagy gyakran használt egyéb
186. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

funkciókat megvalósítani, nincsenek engedélyezve. Az első működő nézetünkhöz vagy


engedélyezni kell a kiválasztott gyári nézetet, vagy egy teljesen újat létrehozni.

17.1.1. A Views UI felépítése


A súgó ábráját nézzük meg bevezetésként (183. ábra).

183. ábra: A Views UI felépítése

Az oldal teljesen AJAX működésű, így a kezelése jelentősen eltér a legtöbb korábbi olda­
létól. A logikája alapvetően fentről lefelé, és balról jobbra érthető meg.
Először is az 1-es részben mindig a Defaults látszik. Itt ugyanis egy nézet több al-nézetet
(display) is tartalmazhat. A Defaults az alapbeállításokat tartalmazza, a legtöbb alatta
levő csak néhány dologban fog ettől eltérni. Amelyik ezek közül ki van választva, annak a
részletei látszanak a jobbra levő területen.
A következő példákat ennek fényében érdemes tanulmányozni.
17. A Views modulok 187. oldal

17.2. A Simple views modul


Az ismerkedéshez hasznos, ha kipróbáljuk a SimpleViews modul szolgáltatásait is. Ez a
modul néhány tipikus esetben legyártja a nézetünket anélkül, hogy a Views modult ko­
molyabban ismernénk.
Az admin/build/simpleviews oldalon a Simple views modullal létrehozott nézetek listá­
ját, és egy új nézet létrehozására használható Add View linket láthatjuk (184. ábra). Ké­
sőbb a lista elemei szerkeszthetők, törölhetők lesznek ugyanitt.

184. ábra: A Simple views lista

17.2.1. Tartalmak listázása


Az admin/build/simpleviews/add oldalon hozzunk létre egy Tartalmak című nézetet az
Oldal típusú tartalmak fordított időrendben történő listázására (185. oldal).

185. ábra: Egyszerű nézet generálása a Simple views modullal

A tartalmak útvonalon ki is próbálhatjuk a listát: a címlaphoz hasonló módon, de pon­


tosan az Oldal tartalmak listázódnak ki. A nézet tartalmaz RSS csatornát és blokk néze­
tet (kicsit furcsa elnevezéssel sidebar widget) is.
188. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Nézzük meg, milyen nézetet generált a Simple views modul (186. ábra).

186. ábra: Oldalakat listázó nézet

Page al-nézet
Önálló útvonalon és önálló tartalommal megjelenő nézet (a dőlt részek az alapértelme­
zett Defaults beállításoktól öröklődtek).

Basic settings
Legalapvetőbb beállítások
 Név: Page, vagyis alapvetően ezen a néven fogjuk látni
 Cím: Tartalmak az összes nézetben
 Style: Unformatted, vagyis alapértelmezett megjelenítés (lehetne még HTML,
Rács vagy Táblázat)
 Row style: Tartalom, vagyis nem valami speciális, hanem a korábban megszokott
előnézet vagy teljes nézet (Emiatt a Fields nem is szerkeszthető)
 Use AJAX: Nem, vagyis hagyományos oldal-újratöltődéssel működik
17. A Views modulok 189. oldal

 Use pager: Igen, vagyis ha sok elem van, lapozható lesz


 Items per page: 10: Ennyi tartalom kerül egy oldalra maximum
 Distinct: Nem, vagyis ha egy elem többször jelenne meg, nem szűri ki
 Access: Unrestricted, vagyis nem korlátozzuk a láthatóságát
 Caching: Nincs, vagyis nincs gyorstárazva
 Exposed form in block: Nem, vagyis nem kérünk blokk nézetet
 Fejléc, Lábléc: Nincs, nem jelenítünk meg a nézet elején és végén szöveget
 Empty text: Nincs, vagyis nincs speciális szöveg beállítva, ha a nézet egyetlen ele­
met se tudna megjeleníteni
 Theme: Information: ha a nézetünket sminkelni akarjuk, itt kapunk segítséget

Page settings
Csak oldal al-nézetnél jelenik meg.
 Útvonal: tartalmak, vagyis ezen az útvonalon érhető el a nézet
 Menü: Normal, vagyis hagyományos módon, egy menüben jelenítjük meg

Sort criteria
Milyen sorrendben jelenjenek meg:
 Tartalom: Post date desc, vagyis a beküldés dátuma szerint, csökkenő sorrend­
ben

Szűrők
Az összes node közül melyeket jelenítse meg
 Tartalom: Közzétett Igen, vagyis a rejtett tartalmak nem jelennek meg
 Tartalom: Típus = Oldal, vagyis csak ilyen típusú tartalmakat listázunk

A Block al-nézet
A Block nézet kicsit máshogy épül fel, hiszen más is a célja. A fontosabb eltérések:

Basic settings
 Style: HTML List, vagyis HTML (ul-li) lista készül
 Row style: Fields, vagyis a Fields részben felsorolt mezőket fogja mutatni
 Items to display: 5
 Link display: Page, vagyis a címre kattintva a node-ra jutunk

Block settings
Ez csak blokkok esetén van
 Admin: Tartalmak, ez lesz a blokk azonosítója
 Caching: Do not cache, vagyis nincs gyorstárazva
190. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Fields
Tartalom: Cím, vagyis csak a cím fog megjelenni linkként
Végül a Feed al-nézet hasonló.

17.3. Gyári nézetek


Ahogy az a 182. ábrán látszott, vannak nem aktivált, de működőképes nézeteink. Mivel
ezek céljai jól ismertek, sokat tanulhatunk ezek vizsgálatából.
Ha ezeket bekapcsoljuk (Enable), akkor az adott szolgáltatást megvalósítását átveheti a
Drupal egyéb részeitől. Természetesen ennek akkor lesz igazán haszna, ha módosítani
szeretnénk az alapértelmezett működésen.

17.3.1. A frontpage nézet


A frontpage nézet eredménye ugyanaz, mint amit a címlapon szoktunk látni. Szerkeszté­
sével (sok mindent még nem fogunk változtatni) betekintést nyerhetünk a nézetek mű­
ködésébe. Nézzük meg, hogyan is állítható elő az alapértelmezett kezdőoldalunk (187.
ábra).

187. ábra: A frontpage nézet szerkesztése

Először is az alap beállításokat (Defaults) láthatjuk, szerkeszthetjük, de már most látszik


az is, hogy a frontpage kétféle megjelenítést valósít meg: Page és Feed. Előbbit a kezdő­
oldalt böngészőből nézve, utóbbit pedig RSS olvasóval olvasva érhetjük el.
17. A Views modulok 191. oldal

Mi jelenik meg a nézetben?


Ha semmi egyéb beállítás nem szerepelne, akkor a nézetben minden létező tartalom
(node) megjelenne. Kezdőoldalra viszont nem mindent kell kitenni, csak azt, ami a felté­
teleinknek megfelel. A Szűrők dobozban látszik a két feltételünk:
 Tartalom: Címlapra kerül Igen
 Tartalom: Közzétett Igen
Vagyis csak a mindkét jelzőt kipipálva beküldött tartalmak kerülnek a címlapra.
Persze ilyen tartalomból is sok lehet, ezért fontos a rendezési sorrend (Sort criteria):
 Tartalom: Sticky desc
 Tartalom: Post date desc
Vagyis a kiemelt tartalmak elől, a többi utána; és mindkét csoporton belül a beküldés
dátuma szerint csökkenő sorrendben.
A Basic settings alatt még az
 Use pager: Igen
 Items per page: 10
érdekesebbek számunkra: 10 tartalmanként, lapozóval fog megjelenni.
Természetesen e jellemzőket meg is változtathatjuk, pl. állítsuk 20-ra az előbbi számot:
a 10-es számra klikkelve megjelenik a szerkesztő felület (188. ábra).

188. ábra: Views tulajdonság szerkesztése


192. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Az Offset értékével néhány tartalmat kihagyhatunk a listázásból 94. Például az első 5 hírt
hagyományos módon, a következő 10-et csak címmel szeretnénk megjeleníteni: ekkor
két hasonló nézetet hozunk létre, a másodiknak 5-ös Offset értéket beállítva. Végül a két
nézetet valamilyen módon egymás alatt jelenítjük meg.
A Page al-nézetre váltva jól látszik, hogy ezt a nézetet a frontpage útvonalon érhető el.
Ha igényeinknek megfelelően testre szabtuk, akár a címlapra is tehetjük az Alapértel­
mezett címlap beállításával (47. ábra).

17.3.2. Az archive nézet


Ezzel a nézettel a blogoknál szokásos havi archívum listát készíthetünk az archive útvo­
nalra (189. ábra), vagy blokkba.

189. ábra: Archive nézet

A nézet Page al-nézetén (190. ábra) a legfontosabb beállítások:

94
Egy lehetséges példa: egyik nézettel csak az első öt tartalmat listázzuk címmel, összefoglalóval, a másik
nézettel ötöt kihagyva, a következőket listázzuk csak címmel, összefoglaló nélkül, majd a két nézetet egy­
más alá tesszük a kezdőoldalra. A második nézethez fogjuk az Offset értékét 5-re állítani.
17. A Views modulok 193. oldal

190. ábra: Az Archive nézet beállításai


Minden közzétett tartalom megjelenik (Szűrők) fordított időrendben (Sort criteria).
A nagy újdonság az eddig még nem ismertetett Argumentumok doboz. Ennek segítségé­
vel további információt tudunk a nézethez rendelni. Enélkül nem csoportosítva, hanem
listázva látnánk a tartalmakat.
Az ábrán a Created year + month linkre a következőt láthatjuk (191. ábra).
194. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

191. ábra: Az archive nézet argumentuma


 A Cím: %1 beállítás az elnevezéseket határozza meg.
 A Summary, sorted descending beállítás a csoportosítást írja elő.

17.3.3. A comments_recent nézet


A nézet a legfrissebb hozzászólásokat (és linkként a node-jukat) jeleníti meg blokk vagy
oldal nézetben (192. ábra).
17. A Views modulok 195. oldal

192. ábra: A comments_recent nézet beállításai

Először is érdemes megfigyelni, hogy az előző ábrák node alapúak voltak (Tartalom: …),
míg itt többnyire Hozzászólás: … látható, vagyis itt hozzászólás alapú nézetet láthatunk.
Újdonság még a Realtionship doboz, amely a node linkeléséhez szükséges ebben az eset­
ben.

17.3.4. További gyári nézetek

A glossary nézet
A glossary nézet az összes publikus tartalmat a címe kezdőbetűje szerinti csoportosítás­
ban listázza. Csak oldal nézetet tartalmaz, amely a glossary útvonalon érhető el.
A megoldás itt is az Argumentum alapján készült.

A taxonomy_term nézet
A taxonomy_term nézet a Taxonomy kifejezéseihez tartozó listázó oldalakat tudja he­
lyettesíteni.

A tracker nézet
A tracker nézet a tartalmak és hozzászólások követését lehetővé tevő Tracker modul át­
tekintő oldalát helyettesíti.

17.4. Nézetek létrehozása


Ennyi példa után nézzük meg, hogyan tudunk új nézetet létrehozni. (Az SQL SELECT
parancs ismerete hasznos lesz a nézetek összeállításánál).
196. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Az admin/build/views/add oldalon két fontos információval kell kezdenünk. Meg kell


adnunk a nézet belső nevét, és a típusát (193. ábra). A típust utólag már nem változtat­
hatjuk meg.

193. ábra: Views típusok


Mivel Tartalom típusú nézetet már jó néhányat láttunk, inkább a többire koncentrálunk.

17.4.1. Felhasználók listázása


Hozzunk létre egy olyan listát, amely a regisztrált látogatókat listázza. (Ezt igény szerint
testre szabhatjuk, pl. csak az utolsó héten belépettek legyenek rajta.)
A nézet neve felhasznalok, típusa Felhasználó legyen.
Egyszerűbb esetekben a következő lépéseket érdemes követnünk:
17. A Views modulok 197. oldal

1. A Mezők dobozban vegyük fel (+) a táblázat oszlopait


A Groups listát érdemes Felhasználó-ra szűkíteni, majd kiválasztani a következőket
(194. ábra).

194. ábra: Felhasználó mezők kiválasztása

2. A Basic settings alatt állítsuk be a legfontosabb dolgokat


Az Add gomb után minden egyes kiválasztott mezőt lépésről lépésre konfigurálhatunk.
Általában elfogadhatjuk az alapbeállításokat, utólag úgyis lesz lehetőségünk javítani. A
címkéket – ha kell – fordítsuk le.
Az oldal alján, a Live preview cím alatt láthatjuk a listánkat eléggé ömlesztett, nehezen
áttekinthető módon.
 Cím: Felhasználók
 Stílus: Táblázat
Itt beállíthatjuk, hogy melyik oszlopok legyenek rendezhetők, és melyik legyen az alap­
értelmezett rendezés (195. ábra). Lehetőségünk lenne még csoportosításra (Grouping
field) valamelyik mező szerint, és beállíthatjuk a rendezési sorrendet (Default sort or­
der) csökkenőre (Descending).
198. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

195. ábra: Táblázat stílusú nézet beállítása

Az előnézetünk máris sokkal barátságosabb.


Még néhány beállítás a dobozból:
 Items to display: 25
 More link: Igen
 Access: Role, hogy csak a kiválasztott adminisztrátor csoportok láthassák ezt a
nézetet.

3. A mezők sorrendjét állítsuk be véglegesre


A Mezők doboz nyilas gombjával hívjuk elő a sorrendezési lehetőséget (196. ábra). Állít­
suk be a kívánt sorrendet.
17. A Views modulok 199. oldal

196. ábra: Mezők sorrendjének beállítása vonszolással

4. Szűrők definiálása
A feladat szerint nekünk az utolsó héten belépett látogatók kellenek. Ehhez a Szűrők „+”
gombjával adjunk hozzá egy új szűrőt: Felhasználó: Last login (197. ábra).
200. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

197. ábra: Csak az utolsó hét nap alatt belépett felhasználók szűrése

5. Page al-nézet hozzáadása


A fontosabb dolgokkal kész vagyunk, végül adjunk hozzá egy Page al-nézetet, hogy el­
érési utat adhassunk hozzá, és menübe helyezhessük a nézetet (198. ábra).

198. ábra: Oldal nézethez útvonal rendelése


17. A Views modulok 201. oldal

Ezzel el is készültünk.

17.5. További, Views modulhoz kapcsolódó modulok

Advanced Help Egyes modulok több – szituációtól függő – súgó információt


tudnak vele megjeleníteni.

Editablefields Olyan nézetet tudunk vele létrehozni, ahol egyes mezők nem
csak listázódnak, hanem szerkeszthetőek is. Így akár több
tartalmon is módosítást végezhetünk egy oldalon.

Insert View Node szövegébe be tudunk szúrni egy nézet eredményét. Be­
viteli szűrőként működik.

Simple Views Egyszerűbb nézetek generálását oldhatjuk meg vele.

View Reference Nézetre való hivatkozás CCK mezőt hozhatunk létre.

Views Bonus Pack További nézet elrendezéseket alkalmazhatunk, kiváltva pl. a


Panels modult.

Views Bulk Operations A listázott elemekkel műveleteket is végezhezünk.


202. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

18. A CCK modulok


Verzió: cck-6.x-2.4.tar.gz.
Honlap: http://drupal.org/project/cck
A CCK modulcsalád a tartalomtípusokra koncentrál.
A Drupal alapcsomaggal létrehozott tartalomtípusok csak két mezőt tartalmaznak: a cí­
met és a törzset. A CCK (egész pontosan a Content) modul legfontosabb szolgáltatása,
hogy lehetővé teszi a tartalomtípusok bővítését további mezőkkel. Az egyes mezők speci­
ális típusokkal és jellemzőkkel írhatók le.

18.1. Elméleti háttér: Egyed-kapcsolat modell


A CCK használatához igen hasznos, ha adatbázis-kezelési, azon belül is elsősorban
egyed-kapcsolat modell alapismeretekkel rendelkezünk. (A kizárólag relációs adat­
bázis-kezelési alapismeretek akár hátrányosak is lehetnek, hiszen a CCK esetén más
módszerekkel kell terveznünk.)
Az egyed-kapcsolat (E-R) diagram a tárolandó adatok és kapcsolataik grafikus ábrázo­
lására szolgál. Segítségükkel könnyen áttekinthető rendszervázlatot készíthetünk. Az
egyed-kapcsolat diagram háromféle összetevőt tartalmaz:
 egyedek
 attribútumok
 kapcsolatok
Példaként egy többnyelvű képgaléria felépítését nézzük meg (199. ábra). A képeket albu­
mokba rendezzük, a képeknek leírásuk, az albumoknak pedig a címük lehet többnyelvű
is. Végül a képek sorrendje is fontos lesz.

199. ábra: Több nyelvű képgaléria ER diagramja

Egyedek
Azok a természetben megtalálható elemek vagy elvont fogalmak, amelyek tulajdonságait
(attribútumait) szeretnénk tárolni. Egyed lehetnek például személyek, berendezések, az
ábrán title, album, image és description stb. Az egyedeket egy téglalappal ábrázoljuk,
melyben megjelenik az egyed neve.
18. A CCK modulok 203. oldal

Az egyedek az azonos tulajdonságokkal (attribútumokkal) bíró csoportot jelképeznek.


Az egyed végső soron egy tartalomtípus lesz.

Tulajdonságok vagy attribútumok


Az egyedeket az attribútumaikkal írjuk le. Az attribútum a legkisebb egység, amely az
egyed egy tulajdonságát tárolja. Ellipszissel jelöljük, benne a tulajdonság nevével.
Az egyed attribútumait egyszerű vonallal kapcsoljuk az egyedhez.
Az attribútum a tartalomtípus egy mezője lesz.

Kapcsolatok
Kapcsolat (többnyire) két különböző típusú egyed között lehetséges. Például:
 Személy járművet vezet
 Személy részt vesz a tárgyaláson
Amíg az egyedek megnevezésében általában főneveket használunk, addig a kapcsolat le­
írására általában igéket használunk. A kapcsolatok három típusát különböztethetjük
meg:

1:1
Az egy az egyhez kapcsolat esetén az egyik egyed egyik példányához egy és csak egy
példányát kapcsoljuk a másik egyednek. Pl. previous, next, stb.
A CCK megvalósítás esetén azt kell eldönteni, hogy a kapcsolat melyik iránya fonto­
sabb. Ha ez egyértelműen megadható, akkor ahhoz a tartalomtípushoz érdemes a másik
egyed referenciáját felvenni. Esetleg az is megoldás lehet, ha mindkét irányban felvesz-
szük a kapcsolatot.

1:n
Az egy a többhöz kapcsolat esetén az egyik egyed egyik példányához nulla vagy több
példányát kapcsoljuk a másik egyednek. Pl. hastitle, contains.
A CCK megvalósítás esetén szintén érdemes eldönteni, hogy melyik kapcsolat a hang­
súlyos.

n:m
A több a többhöz kapcsolat egy egyed példányaihoz egy másik egyed több példányát
rendeli. Pl. describes.
A CCK megvalósítás esetén nincs mérlegelési lehetőség: mindkét irányban fel kell
venni a kapcsolatot. Bizonyos esetekben egy bonyolultabb megoldás is elképzelhető, sőt
nélkülözhetetlen: ekkor a kapcsolatot egy kapcsoló tartalomtípus bevezetésével két 1:n
kapcsolattá bonthatjuk.
Előfordulhat, hogy egy egyed példányi között áll fent kapcsolat. Ezt rekurzív kapcso­
latnak nevezzük. Ilyen lehet például a munkahelyi főnök - beosztott kapcsolat, és az áb­
rán ilyen a previous és a next is.
A kapcsolatoknak is lehetnek attribútumai.
204. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Ennyi bevezetés után kezdjünk bele a modulok megismerésébe.

18.2. Telepítés
Az alap CCK modulok telepítését a szokásos módon kezdjük: másoljuk a letöltött és kitö­
mörített cck könyvtárat a sites/all/modules alkönyvtárba.
Először nézzük át röviden az egyes alap CCK modulok feladatait.
 Content: Minden további modul függ a Content-től, ezért ezt mindenképpen en­
gedélyeznünk kell.
 Content Copy: tartalomtípusok importálása, exportálása végezhető el vele. Ez pl.
más weboldal alá költöztetéshez lehet praktikus.
 Content Permissions: Mező szintű jogosultság beállítási lehetőségeket kapunk.
 Fieldgroup: Mezők vizuális csoportosítására lesz lehetőségünk.
 Node Reference: Másik tartalomra való hivatkozást valósíthatunk meg. Ezzel va­
lósíthatjuk meg az E-R diagramban leírt kapcsolatokat.
 Number: Szám típusú mezőket definiálhatunk.
 Option Widgets: Legördülő lista, rádió gomb típusú beviteli mezőket hozhatunk
létre.
 Text: Szöveges mezőt hozhatunk létre.
 User Reference: Felhasználóra való hivatkozást hozhatunk létre.
Értelemszerűen a számunkra szükséges modulokat érdemes bekapcsolnunk. Ha a mező­
típusok lehetőségeit szeretnénk megismerni, akkor a Content Copy és Content Permissi­
on modulok kivételével mindegyiket bekapcsolhatjuk.

18.3. Használható mezőtípusok és felületi elemek


Egész szám, vagy Lebegőpontos
 Szövegmező
 Legördülő lista
 Jelölőnégyzetek/választógombok
 Egyszerű be/ki jelölőnégyzet
Hivatkozás felhasználóra, vagy Tartalomra hivatkozás
 Legördülő lista
 Jelölőnégyzetek/választógombok
 Automatikusan kiegészülő szöveges mező
Szöveg
 Legördülő lista
 Jelölőnégyzetek/választógombok
 Egyszerű be/ki jelölőnégyzet
 Szövegmező
18. A CCK modulok 205. oldal

 Szövegdoboz (többsoros)
Az új mező létrehozásakor ezek közül a lehetőségek közül választhatunk.
További CCK modulok telepítésével újabb mezőtípusok is elérhetővé válnak: például dá­
tum, link, kép (18.5. fejezet).

Telefonkönyv példa
Példaként nézzünk megy egy vállalati telefonkönyv jellegű alkalmazást, amelynek min­
den mezője95 egyszerű szöveg.
Első lépésként hozzunk létre egy új tartalomtípust (8.3. fejezet). Ezután a Mezők ke­
zelése (admin/content/node-type/*/fields) oldalon hozzuk létre a szükséges mezőket
(200. ábra).

200. ábra: Mező hozzáadása – 1. lépés


A Címke a látogató számára is meg fog jelenni, a Mező neve viszont csak a fejlesztőnek
érdekes. A szerző véleménye, hogy érdemes a mezőnévben a tartalomtípus nevét is fel­
venni (az ábrán field_munkatars_munkakor), elsősorban a Views modul későbbi alkal­
mazása miatt.
A következő lépésben finomítsuk a mező jellemzőit (201. ábra).

95
Kissé talán furcsa lehet ez a megközelítés, hiszen józan paraszti ésszel a telefonszám inkább szám kelle­
ne legyen, ahogy a neve is mondja. Érdemes feltenni azonban a kérdést, hogy akarunk-e matematikai érte­
lemben számolni (pl. összeadni, szorozni) vele? Ha nem, akkor inkább szöveges mező legyen.
206. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

201. ábra: Mező hozzáadása – 2. lépés

Munkatárs beállításai
A szövegmező mérete a begépelhető szöveg hosszát maximalizálja.
A Súgó szöveg a tartalmat beküldőnek lesz magyarázat.
Az Alapértelmezett érték meg fog jelenni a tartalom beküldésekor a beviteli mezőben.

Általános beállítások
A Szükséges mezővel kötelezően kitöltendőnek jelöljük a mezőt.
Az Értékek száma konstans (alapértelmezetten 1) vagy akár Korlátlan is lehet.
A Szövegfeldolgozás Egyszerű vagy Formázott lehet. Az utóbbi esetben a szövegszer­
kesztő modulok és a beviteli formák is működni fognak a mezővel kapcsolatban.
18. A CCK modulok 207. oldal

A Maximális hossz szintén a hosszat maximalizálja, A szövegmező méretéhez hasonló­


an.
A Megengedett értékek felsorolása korlátozza a beviteli lehetőségeket.
Végül érdemes megfigyelni, hogy a két csoport (Munkatárs beállításai, Általános beállí­
tások) más hatókörrel rendelkezik. Ennek hátterében az áll, hogy egy mezőt akár
több tartalomtípushoz is használhatunk. E lehetőséggel azonban igen körültekintően ér­
demes élni.
Ezzel a módszerrel több szöveges mezőt (és két csoportot) felvíve a következő eredményt
kaphatjuk (202. ábra).

202. ábra: A Munkatárs mezői


Más típusú mezőknél a lépések kissé eltérhetnek, de a súgó szövegek, valamint kipróbá­
lás segítségével megismerhetőek.
208. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

18.4. Mezők megjelenítése


A mezők létrehozása után a Mezők megjelenítése (admin/content/node-type/*/display)
oldalt is érdemes megnéznünk (203. ábra).

203. ábra: Mezők megjelenítése

Minden egyes mezőt (illetve mezőcsoportot) külön tudunk szabályozni. Az egyes oszlo­
pok jelentése:

Címke (pl. a Munka szó)


 Felette: A címke a mező felett jelenik meg
 Beágyazó: A címke a mező előtt (beágyazottan) jelenik meg
 < Rejtett >: Nem jelenik meg

Bevezető és Teljes tartalom egy Mezőcsoport esetén


 formázás nélkül
 egyszerű
 mezőcsoport (alapértelmezés)
 mezőcsoport – összecsukható
 mezőcsoport – összecsukva
 < Rejtett >

Bevezető és Teljes tartalom egy Mező esetén


 Alapértelmezett
 Egyszerű szöveg: HTML tagok nélkül
 Levágva: csak egy bizonyos hosszúságú szakasz
 < Rejtett >
Ezen beállításokkal – a sminknek megfelelően – igen precízen meg tudjuk jeleníteni a
kívánt tartalmat. Nézzünk egy Teljes tartalom példát, amely alapértelmezett beállításo­
kat alkalmaz (204. ábra).
18. A CCK modulok 209. oldal

204. ábra: Teljes nézet megjelenítése alapbeállításokkal

Ahogy az ábrán is látszik, a tartalom beküldésekor ki nem töltött mezők nem jelennek
meg.

A következő fejezetekben más mezőtípusokkal kapcsolatos példákat is be fogunk mutat­


ni.

18.5. További, CCK-ra épülő modulok


Igen hasznos lehetőség, hogy a CCK alapmodulra is építhetünk további modulok szolgál­
tatásaival.
Először nézzük meg azokat a modulokat, amelyek újabb mezőtípus(ok) kezelését
teszik lehetővé.

Computed Field Számított értékeket állíthatunk elő más mezők alapján.

Date Dátum típusú mezőt hozhatunk létre.

E-mail Field E-mail cím mezőt hozhatunk létre.

FileField Állományt csatolhatunk mezőként.

Link Link mezőt hozhatunk létre.

View Reference Nézetre való hivatkozás mezőt hozhatunk létre


210. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Mindegyik modul ismertetése hasznos lenne, de a Date kivételével a használat kipróbá­


lás alapján megtanulható. A Date modullal három féle mező típus közül választhatunk96:
 Date
Varchar(20)-ként tárolódik. Töredék dátumok (csak hónap, nap), vagy i.sz. 1000-
nél régebbi dátumok esetén érdemes használni, egyébként nagyon lassú vele dol­
gozni.
 Datestamp
UNIX időbélyeg. Gyorsan, egyszerűen lehet vele dolgozni és széles körben támo­
gatott, viszont csak 1901-től 2038-ig terjedő dátumokhoz használhatjuk.
 Datetime
A MySQL saját dátumkezelő formátumát használja. Általában e az ajánlott meg­
oldás.
Néhány további CCK modul:

Autocreate Node Automatikusan létrehozhatunk egy új kapcsolódó tartalmat.


Reference

Field Actions Mezőkön keresztül hozhatunk létre akciókat. (Pl. egy tarta­
lom beküldéséről értesíteni akarjuk az User reference me­
zővel hivatkozott felhasználót.)

96
Illyés Edit leírása alapján. Forrás: http://edithi.com/node/40
19. Drupal esettanulmányok 211. oldal

19. Drupal esettanulmányok


Ebben a fejezetben néhány Drupal alapú honlap fejlesztését: a tervezés és kivitelezés
egyes lépéseit követhetjük végig.
Érdemes azt is megjegyezni, hogy a megoldások nem teljesek és nem is feltétlen a leg­
jobb megközelítést alkalmazzák, de a fenti modulok bemutatására megfelelőek.

19.1. Bárányka Keresztyén Óvoda


A Bárányka Keresztyén Óvoda97 a Kecskeméti Baptista Gyülekezet által létrehozandó és
üzemeltetendő, keresztény szellemiségű, de mindenki számára nyitott óvoda lesz.
Az óvoda honlapjának létrehozása előtt nézzük át a tervezés legfontosabb lépéseit.

19.1.1. Tervezés
A honlap jelenlegi elsődleges célja, hogy a leendő óvoda iránt érdeklődő szülőket meg­
felelően tájékoztassa. A látogatói célcsoport is könnyen beazonosítható: az érdeklődő
szülők lesznek a legtöbben, de természetesen az óvoda munkatársai a tartalom feltölté­
sében részt kell hogy vegyenek.
A honlap a közeljövőben jelentősen bővülni fog. Először az építkezés folyamatának be­
mutatása fogja a tartalmat bővíteni, majd a működés megkezdése után az óvoda min­
dennapjainak bemutatása kerül a középpontba. (Megfelelő részvétel és igény esetén akár
komoly interakciókkal, nem mindenki számára elérhető tartalmakkal is bővülhet az ol­
dal.)
Érezhető tehát, hogy 3 egymást követő (bár nem teljesen szétválasztható) időszakban a
honlap célja, így szerkezete is más-más lesz. A kivitelezéskor tehát figyelembe kell venni,
hogy az egyes honlap-funkciók nem egyszerre és nem is feltétlenül teljes körűen fognak
jelentkezni.
A honlap látogatói a következő csoportokba fognak tartozni:
 szerkesztő: (nem teljes körű) adminisztrációs feladatok ellátása
 építő: az építkezés folyamatáról beszámoló személy
 nevelő: az óvodapedagógusok, további alkalmazottak
 szülő: az óvodás gyermekek szülei
 érdeklődő: aki az óvoda működéséről, az építkezésről általános információkat
szeretne megtudni; akár leendő szülőként
További specialitás, hogy egy lényegében egyoldalú információközlésre építő korábbi
verzió (205. ábra) már elkészült, de most Drupal alapon ismét el kell az oldalt készíteni.
Ráadásul a szerkesztőnek úgy kell szerkesztési lehetőséget adni az oldalakhoz, hogy a
készülő oldalt más ne láthassa.

97
A honlap a http://baranykaovi.kbgy.hu/ címen érhető el.
212. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

205. ábra: Bárányka Keresztyén Óvoda korábbi honlapja

19.1.2. Telepítés
A Drupal a szokásos módon telepítésre került. Létrejött az admin felhasználó. Ugyanígy
a legalapvetőbb beállítások is elkészültek:
● Az oldal offline módra lett kapcsolva.
● A tartalomtípusok Oldal és Hír néven specifikáltak.
● A látogatók adminisztrátori elfogadás nélkül, de e-mail ellenőrzéssel regisztrál­
hatnak, akár fényképet is feltölthetnek magukról.
A modulok közül a következőket kapcsoltuk be és konfiguráltuk.

Alapmodulok
● Book: könyvlapok
● Comment: megjegyzések
● Contact: kapcsolatfelvétel
● Forum: szülőkkel való kommunikáció
● Path: útvonal álnevek
● Search: kereshetőség
● Statistics: látogatottsági adatok
● Taxonomy: kategorizálás
● Tracker: követés
● Upload: mellékletek feltöltése
19. Drupal esettanulmányok 213. oldal

Külső modulok
● PoormansCron: időzített feladatok
● URLify: a path automatikus generálásához
● FCKEditor: vizuális szerkesztés
● SpamSpan: e-mail címek elrejtése
● Image, IMCE, Lightbox2: kép tartalmak, galériák (építkezésről, óvodai életről)

Oldalak létrehozása
Talán nem triviális, miért is hasznos az Oldal helyett a Könyv modult használni egyes
tartalmak esetén.
Az első fázisban központi jelentésű oldalak (Az oviról, Előzmények, Küldetésünk, Célja­
ink) a főmenüből valószínűleg ki fognak kerülni. Ekkor elképzelhető, hogy Az oviról ol­
dal gyermekeivé kerül a másik három oldal, így a főmenüben csak egy helyet foglal el, de
a könyv navigáció miatt mégis könnyedén elérhető marad a többi oldal is. Ez az átszer­
vezés a Könyv modullal könnyedén megoldható lesz a későbbiekben, ha Az oviról oldal
könyvlap lesz. (A leendő gyermekei más típusú tartalmak is lehetnek.)
A korábban említett három fő funkcióból pillanatnyilag egy menüblokk valósul meg.
Végül a honlap a tartalom és funkcionalitás kialakítása után az eredeti kinézetét is „visz-
szakapta” az eredeti dizájn sminkké fejlesztésével (206. ábra).

206. ábra: A Bárányka Keresztyén Óvoda honlapja


214. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

19.2. Poli-Tech 2005 Kft.


A Poli-Tech 2005 Kft.98 honlapja sem volt előzmények nélküli. Statikus HTML tartalom
alkotta – mindenféle interakciós lehetőség nélkül. Ehhez képest sokféle egyéb szolgálta­
tást szerettek volna a tulajdonosok megvalósítani. A legfontosabb igények:
● Elérhetőségi információk
● Termék-, és szolgáltatási információk
● Referencia munkák, cégek bemutatása
● Álláshirdetések
● Hírek, azokra megjegyzési lehetőség
● Kapcsolat-űrlap
● Fórum
● Hírlevél
● RSS
A honlap látogatóit ösztönözni szeretnénk a regisztrációra, ezért bizonyos szolgáltatáso­
kat csak nekik engedélyezünk.

19.2.1. Alkalmazott modulok


Az oldal elkészítéséhez a következő modulokat használjuk:

Alapmodulok
● Book: könyvlapok, hierarchikus navigációhoz
● Comment: megjegyzések
● Contact: kapcsolatfelvétel
● Forum: fórum kommunikáció
● Path: útvonal álnevek
● Poll: szavazás
● Profile: további információk a látogatókról
● Search: kereshetőség
● Statistics: látogatottsági adatok
● Taxonomy: kategorizálás
● Tracker: követés
● Upload: mellékletek feltöltése

Külső modulok
● Poormanscron: időzített feladatok
● FCKEditor: vizuális szerkesztés

98
http://politech2005.hu/
19. Drupal esettanulmányok 215. oldal

● SpamSpan: e-mail címek elrejtése


● Image, IMCE, Lightbox2: kép tartalmak, galériák (termékekről)
● User Node, Node Profile: a felhasználók adatainak komplex kezeléséhez
● Simple News: Hírlevelek küldése
● Subform Element: Űrlap szolgáltatások
● External links: külső linkek jelzése
● Extended user status notifications: a látogató értesítése az állapotváltozásáról
● Views: különféle listák
● CCK (Content, Fieldgroup, Image, Link, Node Reference, Option Widgets, Text,
User Reference): a különféle tartalomtípusokhoz

19.2.2. Oldalfelépítés
Az oldal felépítése a szokásos szerkezetre épül: hírek a kezdőoldalon, főmenük fent és ol­
dalt, és közösségi menük jobb oldalt (207. ábra).

207. ábra: A Poli-Tech 2005 Kft. honlap kezdőoldala

19.2.3. Felhasználói adatok


A honlap készítésekor fontos igény volt, hogy a regisztrált felhasználókról nyilván tud­
junk tartani bizonyos információkat. Ehhez az alap Profile modul mellett a User Node és
Node Profile kiegészítő modulokat is igénybe kellett venni.
Nézzünk meg először egy regisztrációt. A szokásos név és e-mail megadásán túl a követ­
kezőket kérjük kitölteni (208. ábra).
216. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

208. ábra: Bővített regisztráció

Ezen adatok egy része csupán megjelenik a későbbi oldalakon, már részeit viszont aktí­
van fel fogjuk használni. A fenti adatok létrehozása érdekében a Profilok adminisztráci­
ós oldalon a következő mezőket hoztuk létre (209. ábra).

209. ábra: Profilok adminisztrációs oldal


19. Drupal esettanulmányok 217. oldal

19.2.4. Nézetek
A felhasználókról két nézetet hoztunk létre.
A Kollégák című nézet csak névtelen látogatók számára jelenik meg, tartalma pedig a
listában való megjelenést engedélyező felhasználók neveire korlátozódik.
A másik nézet csak regisztráltaknak, és jóval több információt tartalmaz.

19.2.5. Hírlevelek
A Hírlevelek kezeléséhez a SimpleNews modult alkalmazzuk. Először is létrehoztunk kü­
lönböző témaköröket, amikre a felhasználók külön-külön feliratkozhatnak.
Igazából (a fórum működéséhez hasonlóan) itt se egy teljesen új dologgal állunk szem­
ben, hanem egy új, Hírlevelek nevű kategória kifejezéseit hozhatjuk ilyen módon létre.
A megfelelő jogosultságok megadása után a látogatók már fel tudnak iratkozni az egyes
témákra a Saját adatok oldalunkon.
A Szerkesztők (megint csak a jogosultságok megkapása után) tudnak a tartalom bekül­
désénél hírlevelet létrehozni, és megfelelő kategóriába sorolva elküldeni.
A cím alatt kiválaszthatjuk, hogy melyik hírlevél témakört szeretnénk megcélozni. Az
üzenet alatt olvashatjuk, milyen speciális szövegek beillesztését kérhetjük. Végül a Hír­
levélküldés beállításai is magukért beszélnek, értelem szerűen, a céljainknak megfelelő­
en tölthetjük ki azokat.

19.3. Tantárgyi oldalak


A 2008-as tavaszi félévben megvalósult a szerző azon terve, hogy az egyes tantárgyak
Drupal alapú oldala ne csak egyszerű híroldalként, esetleg fórumként, hanem közösségi
tanulói oldalként működjön. Persze itt nem a „hagyományos” közösségi funkciók kon­
centrálunk, hanem a tantárgy teljesítésében építünk a közösségi munka szerepére.

19.3.1. Tervezés
A tantárgyi oldalak zártak abból a szempontból, hogy külső látogatók nem regisztrál­
hatnak, az oldal a tantárgyat hallgató tanulók számára van fenntartva.
Meg kell még említeni, hogy három tantárgy oldalát kell megvalósítani, amelyekben
ugyan sok a hasonlóság, de vannak jelentős eltérések is.

Az oldal fő funkciói
 Tantárgyi hírek közlése a hallgatók számára (hírek a címlapon és RSS-ben)
 A hallgatók a házi feladat bizonyos részeinek teljesítését itt a honlapon tudják do­
kumentálni (tartalom beküldési jogok, valamint profil adatok)
 E teljesítéseket hallgatóhoz és részfeladathoz kötötten is ki kell tudni listázni
(Views modul)
 A teljesített részfeladatokat a hallgatótársak tudják kommentálni, értékelni, ami
segítség lesz a végleges értékelésben.
218. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

 A hallgatókat további tartalom-építésbe is be kell vonni. Van, ahol wiki, van, ahol
fórum jelleggel.
 A hallgatók aktivitását „mérni” kell gépi módszerekkel is (Userpoints modul)

19.4. Kecskeméti Baptista Gyülekezet


A gyülekezet99 honlapja több célt is be kíván tölteni.
 Egyrészt az érdeklődők számára egy általános bemutatkozást szeretnénk
nyújtani. (Vannak, akik érdeklődésük ellenére nehezen teszik be a lábukat egy
számukra idegen környezetbe, vagyis egy gyülekezet épületébe.) Ezért fontos,
hogy minél több korrekt információ rendelkezésre álljon azok számára, akik fon­
tolgatják, hogy eljöjjenek-e a gyülekezetbe.
 Másrészt van egy olyan célja a honlapnak, hogy azok számára is nyújtson érde­
kességeket, akik (pl. a fizikai távolság miatt) a helyi gyülekezetbe nem fognak el­
jönni, de a gyülekezet üzenete iránt érdeklődnek. (Tipikusan a letölthető
zeneszámok, előadások, igehirdetések tartoznak ide.)
 Harmadrészt a gyülekezet tagjai és rendszeres vendégei számára a jövőbeli
események előrejelzése, a múltbeli események fényképei, hangfelvételei és él­
ménybeszámolói érdekesek lehetnek.

19.4.1. Alkalmazott smink


Acquia Marina100 sminkből kialakított Waffles101 smink (minimális módosításokkal)
nagyszerűen alkalmas a honlap közösségi funkcióinak kiszolgálására. A 15 blokk régió
pedig szükségtelenné teszi pl. a Panels modul használatát a címoldalon.

19.4.2. Alkalmazott modulok


Az alapmodulok nagy részére szükség van a
 CCK, Date, Link: a tartalomtípusok kialakításához.
 BUEditor: a kompromisszumok nélküli szövegszerkesztéshez.
 SWF Tools, FlowPlayer 3, 1 Pixel Out, SWFObject2: a zene és videó csatolmá­
nyok on-line lejátszásához.
 Views: a sokféle listázáshoz.

19.4.3. Tartalomtípusok és a hozzá kapcsolódó nézetek


A következő tartalomtípusok kiegészítő mezőket kaptak a céljuk betöltéséhez.

Esemény
Az esemény elsősorban a kezdőoldalon megjelenő jövőbeli események táblázatos listázá­
sához szükséges (210. ábra).
99
A szerző e gyülekezet tagja több, mint 10 éve. http://kbgy.hu/
100
http://drupal.org/project/acquia_marina
101
http://drupal.org/project/waffles
19. Drupal esettanulmányok 219. oldal

210. ábra: Az Esemény tartalomtípus mezői

A Dátum az esemény kezdeti (és esetleg befejező) idejét tartalmazza. A Helyszín több­
nyire az alapértelmezett Imaház értéken marad, néha kell csak átírni. Az Aktuális logi­
kai érték segítségével tudja majd a nézetünk eldönteni, hogy melyik eseményeket kell
majd a címlapon szerepeltetni (211. ábra).

211. ábra: Az aktuális Események időbeli listája

A címoldalra szánt nézet legfontosabb beállításai (212. ábra).


220. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

212. ábra: Eseménylista blokk nézet

Heti alkalom
A Heti alkalom tartalomtípus a hétről hétre ismétlődő események táblázatos megjelení­
tésére szolgál (213. ábra).

213. ábra: A Heti alkalom tartalomtípus mezői

A Nap a hét egyik napját (hétfő-vasárnap) jelenti, a redundánsnak tűnő Súly az ehhez
kapcsolódó sorrend beállítására lesz hasznos. (Enélkül a megjelenítési sorrend pl. a hét
napjai szerint abc sorrend lehetne csak, ami jelen esetben értelmetlen.) Az Idő a Heti al­
kalom időintervallumát jelöli ki (214. ábra).
19. Drupal esettanulmányok 221. oldal

214. ábra: Heti alkalmaink listázása a kezdőlapon

A nézet alapvető beállításai (215.ábra).

215. ábra: A Heti alkalmak listázása

Magazin
A gyülekezet rendszeresen kiad hagyományos, papír alapú újságot Igeidő címen. Termé­
szetesen felmerült az igény, hogy ennek a tartalma is felkerülhessen a honlapra, de ne
csupán egy feltöltött PDF állomány formájában, hanem jól navigálható módon.
E cél érdekében két, 1:n kapcsolatban álló tartalomtípus létrehozása tűnt célszerűnek:
Magazin és Magazin cikk. Az egyszerűség kedvéért a kapcsolat mindkét iránya megva­
lósításra került.
222. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

A Magazin mezői:
 Cím: a Magazin és száma
 Sorszám: a Magazin sorszáma, csak a listázás sorrendjéhez van felhasználva
 Ismertető: egy rövid bevezető
 Cikkek: node reference több Magazin cikkek-re
A Magazin cikk mezői:
 Cím: a cikk címe
 Magazin szám: node reference a Magazinra
 Oldal: a cikk újságon belüli oldalszáma, egyedül a listázásnál van felhasználva
 Rovat: a magazin rovatbesorolása
 Törzs: a cikk szövege
Egy magazin kinézete a következő (216. ábra).

216. ábra: Magazin megjelenése

19.4.4. A kezdőoldal kialakítása


A kezdőoldal kialakítása eltér a Drupal alap megoldásától. A korábban megismertetett
nézetek, és két további nézet állítja elő a kezdőoldal komplex struktúráját (217. ábra).
Ezek a blokkok csak a címlapon (<front>) jelennek meg.
19. Drupal esettanulmányok 223. oldal

217. ábra: A címlapon megjelenő blokkok


A címlapon megjelenő blokkok mellett más tartalom már nem jelenik meg. Ezt a követ­
kező módon értük el:
1. A smink page.tpl.php állományáról készült egy másoldat page-front.tpl.php né­
ven.
2. A page-front.tpl.php állományból a $content tartalmát megejelenítő kódot eltá­
volítottuk.
Így az alábbi elrendezést kaptuk (218. ábra).
224. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

218. ábra: A Kecskeméti Baptista Gyülekezet weboldalának címlapja


19. Drupal esettanulmányok 225. oldal

19.5. GAMF honlap


Ebben a fejezetben a GAMF honlap 2009-es újratervezésének főbb dokumentumai te­
kinthetők meg.

19.5.1. Miért kell új verzió?


Honlapok frissítése, külső-belső megújítása időnként elengedhetetlen az Interneten való
megjelenés aktuális követelményeinek megfelelően. A redesign tartalmazza a jelenlegi
honlap információinak kiértékelését, továbbá átszerkesztését annak érdekében, hogy
jobban megfeleljen a célközönség igényeinek.
Konkrét okok a megújításra:
1. Két év folyamatos működés során felmerültek olyan igények, amelyek a ko­
rábbi tervezés során nem látszottak. Emiatt a rendszerbe csak elég nehezen lehe­
tett ezeket beilleszteni.
2. A hírek 4 látogatói csoportba osztását közös kezdőoldalon kellene megvalósí­
tani. A kezdőoldalon jóval több információnak kellene szerepelni.
3. Az előző verzióban jelentős szerepet betöltő szervezeti felépítés várhatóan je­
lentős átszervezést fog megélni. Másrészt a látogatók zömét inkább zavarja, mint
segíti a szervezeti megközelítés.
4. A tantárgyakhoz kötődő tartalmak közül a tantárgykiírások az ETR-be kerül­
nek át. Célszerű az egyéb tantárgyi anyagokat inkább az oktatókhoz kapcsolni.
5. Az oktatók a korábbi struktúrában nem tudják módosítani saját személyes
adataik tartalmát (pl. fogadóóra). A tervek szerint az oktatók a saját személyük­
höz és tantárgyaikhoz kapcsolódó anyagokat maguk tudnák kezelni, elősegít­
ve a friss információk közzétételét.
6. A honlapot működtető Drupal rendszer (Drupal 5) jelentősen elavult, az újabb
verzió (Drupal 6) további hasznos lehetőségeket tartogat.
7. A dizájn átgondolása a tartalom fényében szintén szükséges.

19.5.2. Látogatói csoportok


A honlap célja a Kecskeméti Főiskola GAMF Karának lehető legsokoldalúbb bemutatása,
a sokrétű információhalmaz áttekinthető navigációja minden látogató számára.
A következő látogatói csoportokra számíthatunk:
1. Potenciális hallgatóink, felvételizők
Számukra általános alap információk és felvételivel kapcsolatos információk el­
juttatása a célunk.
2. Hallgatóink
Számukra a saját helyzetüknek megfelelő információk nyújtása a cél. Pl. a gólyák
számára gólyatábor, az órára járó, vagy éppen zh-ra készülő hallgatók számára a
letölthető előadásvázlatok, a szakdolgozók számára a szakdolgozat-készítés aktu­
ális információi, a levelező hallgatók számára az órarendjük megtalálása lesz a
legfontosabb. A szorgalmi- és vizsgaidőszak minden pillanatában érdekes lehet
még a szakok, tantárgyak, oktatók információinak megtalálása.
226. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

3. Vállalatok
A kar igen sok céggel áll kapcsolatban. Nyári gyakorlatosok keresése, végzősök­
nek állásajánlat, bérmunkák a GAMF műhelyeiben, vagy egy céges tanfolyam
szervezése csak néhány példa. Természetesen a vállalatok számára a kar munka­
társaival való kapcsolat lehetősége és a fentihez hasonló információk a leghaszno­
sabbak.
4. Munkatársak
Egy vállalat vagy szervezet belső életéről nem szokás információkat közzétenni,
mégis lehetnek olyan esetek, amikor az információ mégiscsak érdekes lehet má­
sok számára is, és vállalati titoknak se minősíthető.
5. Más felsőoktatási vagy kutató intézmények
A kutatás, de az oktatás területén is igen gyakori az intézmények közötti együtt­
működés. Valószínűleg az e csoportnak szóló információk nem fognak egy helyen
koncentrálódni az oldalon.
6. Magyarul nem beszélő látogatók
Gyakorlatilag az előző kategóriák speciális esetének is tekinthető pl. egy vendég­
félévet nálunk hallgató külföldi hallgató, a kutatási témájához partnert kereső ku­
tató, egy külföldi cég (pl. a Mercedest gyártó Daimler AG) számára fontos, hogy
legalább angol nyelven és legalább alap információkat el tudjon érni.
Ezek a látogatói csoportok egyes esetekben jól szétválaszthatók, máskor jelentős átfedé­
sek lehetnek. Emiatt a hírek megfelelő struktúrában tálalása rendkívül fontos a kar hon­
lapján.

Mit szeretnénk a honlapon bemutatni?


Az információk két fő csoportra oszthatók:
 időponthoz kötött hírek, amelyek rövidebb-hosszabb időn belül elavulnak
 általánosabb (legalább egy félévre vonatkozó) oldalak
Az előző pont elsősorban a hírek struktúrájáról, de azért az oldalakkal szemben támasz­
tott igényeinkről is sokat elmond.
Az információ-központú célok miatt igen fontos, hogy jól kihasználjuk a többféle navigá­
ció nyújtotta lehetőségeket. Úgy, mint kenyérmorzsa (más néven halszálka) menü, cím­
kék, szűrhető, rendezhető listák, stb.
Kisebb súllyal ugyan, de látogatói interakcióra is fogunk lehetőséget nyújtani, pl. szava­
zás, kapcsolatfelvételi űrlap, vagy éppen keresések, szűrések formájában.1 formájában.

19.5.3. Felhasználói csoportok


Az elmúlt két év tapasztalatai mutatják, hogy a publikus regisztráció nem érte el a célját,
ezért azt célszerű megszüntetni. Helyette az oktatók regisztrációjára koncentrálunk.
A következő csoportok nem egymást kizáróak, egy felhasználó több csoportnak is lehet
tagja.
19. Drupal esettanulmányok 227. oldal

Munkatársak (oktatók)
A honlap látogatói számára a munkatársak azon köre fontos kiemelten, akikkel az okta­
tás vagy egyéb adminisztratív okból kell, hogy kapcsolatot tartsanak. Ilyen értelemben
nem feltétlen cél, hogy minden, a karon dolgozó munkatárs szerepeljen a honlapon.
Legfontosabb célok, lehetőségek:
 Friss kapcsolati adatok megjelenése
 Tudományos információk megjelenítése (pl. kutatási területek, publikációs
lista, vagy akár egyes publikációk melléklettel is)
 Tantárgyi információk (tipikusan előadásvázlatok, feladatkiírások stb.)
Cél, hogy minden oktató a saját anyagait tudja kezelni, feltölteni, módosítani.
Ezek az anyagok nem a címoldalon jelennek meg.

Hírszerkesztők
A kar sok részéről érkezhetnek olyan hírek, amelyek a címlapon kell, hogy megjelen­
jenek. Ezen hírek alapvetően időrendben, a hír címével, dátumával és feladójával fognak
megjelenni.
 Oktatási Iroda, pl. Felvételi tájékoztató
 BME Nyelvvizsgahely: pl. Nyelvvizsgák terembeosztása
 Kollégium: pl. Az új első évesek kollégiumi jelentkezésének mente
 Könyvtár: pl. Nyári nyitva tartás
 Bizottságok: pl. Lakhatási támogatás
 Szakcsoportok, intézmények: pl. Matematika - Fizika Felkészítő Tanfolyam, vagy
egy intézeti szeminárium
 Események, versenyek: pl. Mikroelektronika tanulmányi verseny
 ECDL vizsgaközpont: pl. Következő vizsga információk
 Hallgatói Képviselet: pl. GAMF napok programja
A hírek jelentős része besorolható a következő négy látogatói csoport valamelyikébe.
Ezen csoportokban a hírek gyakorisága nem egyforma, így a megfelelő dobozok eltérő
számú hírt tartalmaznak majd.
 Felvételizőknek (kb. 5 hír)
 Hallgatóknak (kb. 10 hír)
 Vállalatoknak(kb. 5 hír)
 Munkatársaknak (kb. 5 hír)
Ezen kívül vannak olyan témakörök, amelyek kezelése kiemelten fontos lehet:
 Levelezők hírei
 Szakdolgozati hírek
 Záróvizsga hírek
E csoportok átgondolása a honlap tervezésének egyik legkritikusabb része. Célszerűnek
látszik többféle navigációt kidolgozni, és választhatóvá tenni.
228. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Webmester
A honlap további oldalai, amelyek nem igazán hír jellegűek, a webmester által karban­
tartottak.

A következőkben néhány érdekesebb megoldást mutatunk be, különösen a CCK és Views


modulok kapcsán.

19.5.4. Hírek és címoldal


A Hír (eredetileg Story) tartalomtípus két szótárral is kapcsolatban van:
 Látogató, amely a hír címzettjeit határozza meg (pl. Hallgatók, Felvételizők)
 Hír feladó, amely a kar szervezeti egységei (mint pl. Informatika Szakcsoport,
Oktatási Iroda), mint hír feladó leírására szolgál
A beküldött hírek esetén egy látogatói csoport választható ki, vagy üresen is hagyható a
mező. Ez dönti el, hogy a beküldött hír a címoldal melyik blokkjában jelenjen meg (219.
ábra). Az üresen hagyott hírek fognak az Egyéb hírek alatt megjelenni.

219. ábra: A GAMF címlapja

A blokkokat egyetlen nézet al-nézetei (220. ábra) gyártják, a blokkok pedig a 16.6. feje­
zetben bemutatott smink régiókba kerültek, csak a címoldalon (<front>) megjelenítve.
A blokkok lábléceibe helyezett további hírek linkek a hirek_oldalai nézet oldal alapú al-
nézeteire mutatnak, ahol a korábbi hírek is megtekinthetőek.
19. Drupal esettanulmányok 229. oldal

220. ábra: A hírek és al-nézetei

19.5.5. Szervezetek
A kar oktatói és nem oktatói egységekkel is rendelkezik. Ezek legfontosabb jellemzői,
hogy
 vezető, adminisztrátor és egyéb munkatárs is köthető hozzá
 hírek feladója lehet
Az előbbiek miatt különböző számosságú User reference mezőket, az utóbbi miatt pedig
View reference (külső modul) mezőt vettünk fel (221. ábra).
230. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

221. ábra: Szervezeti egység


A View reference mező egy erre a célra létrehozott nézet argumentummal specifikált al-
nézetét (220. ábra, Szervezetek hírei) illeszti be a node mezőjeként.

19.5.6. Oktatók és oktatói oldalak


A honlap előző verziójában az oktatók önálló tartalomtípus példányai voltak. CCK mo­
dullal további egyedi mezőket, Views modullal pedig különböző listázásokat tudtunk
megoldani. Problémás volt viszont az oktatók saját anyagainak elhelyezése.
Az új verzióban az oktatók regisztrált felhasználók (a munkatárs csoport tagjai). A saját
alapjellemzőiket Profile mezőkkel oldottuk meg. Így pl. a fogadóóráját minden oktató
magának állíthatja be. A listázásokra továbbra is a Views modult használjuk.
A blog modul magyar szövegeit kissé átfogalmazva (pl. Oktatói oldal a tartalomtípus
neve) elértük azt, hogy az oktatók saját oldalakat küldhessenek be, ezek közvetlenül elér­
hetőek az oktató adatlapjáról, stb. Így az egyes tárgyakhoz kapcsolódó anyagok is egysé­
gesen, az oktató oldaláról érhetőek el (222. ábra, Oktatói oldalak listája).
19. Drupal esettanulmányok 231. oldal

222. ábra: Oktató oldala


232. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

20. Adminisztrációs feladatok


Drupal alapú honlapunk létrehozásával még nem értek véget feladataink. (A java csak
most következik :-)
Saját honlap esetén a honlap tartalmának előállítása, a honlap menedzselése lesz ko­
moly feladat. Ha más(ok) számára hoztuk létre az oldalt, akkor a tulajdonos, a tartalom
előállítók betanítása, folyamatos segítése lesz nagy feladat. Bármelyik esetről legyen is
szó, az oldal karbantartása mindenképpen rendszeres feladatot fog jelenteni. Következ­
zenek tehát a karbantartási funkciók.

20.1. Biztonsági mentés


A biztonsági mentés célja, hogy egy esetleges meghibásodás esetén a biztonsági mentés
felhasználásával az elmentett állapot reprodukálható legyen. (Meghibásodás oka le­
het a szolgáltatónál előálló hardver hiba, egy hacker támadás, egy vírustámadás, de akár
az adminisztrátor egy „rossz mozdulata” is.)
Ideális esetben a tárhelyszolgáltató gondoskodik a rendszeres biztonsági mentésről. Sok
esetben azonban az adminisztrátor feladata ennek elvégzése. Hasonló lépéseket kell ak­
kor is követnünk, ha a honlapunkat át akarjuk költöztetni egy másik tárhelyre (például a
lokális gépünkről egy ingyenes tárhelyszolgáltatóhoz). Ezért e fejezet azok számára is
hasznos lehet, akinek más készít biztonsági mentést.
A biztonsági mentés idejére érdemes a honlapot offline állapotba kapcsolni, er­
ről pedig a látogatókat előzetesen értesíteni.

20.1.1. A fájlok elmentése


A fájlok mentéséhez az FTP kliensünkkel (például Total Commander) ugyanúgy csatla­
kozzunk a szolgáltatónkhoz, mint a telepítésnél, majd az összes ott található fájlról ké­
szítsünk egy másolatot (223. ábra). (Ha jobban belegondolunk, a telepítéskor felmásolt
állományok – a sites alkönyvtár kivételével – változatlanok, így azokat nem kell feltétle­
nül lemásolnunk.)
20. Adminisztrációs feladatok 233. oldal

223. ábra: Fáljok biztonsági mentése

Ha nem első alkalommal készítjük a mentésünket, akkor nem kell feltétlenül mindent
újból lemásolnunk: a Total Commander kiváló szolgáltatást nyújt nekünk a Parancsok/
Könyvtár-szinkronizálás menüponttal.
A két panel megfelelő beállítása után keressük meg a fenti menüpontot, majd kezdjük el
az összehasonlítást a következő beállításokkal (224. ábra).

224. ábra: Könyvtár-szinkronizálás

Az Összehasonlítás gomb lenyomása után egy teljes összehasonlítás történik, amiről a


következőhöz hasonló102 eredményt kell kapnunk (225. ábra).

102
Az ábra egy olyan helyzetben készült, amikor a hálózati kapcsolat megszakadása miatt a fájlok mentése
csak részben történt meg, a folytatást pedig ugyanezzel a módszerrel kezdeményeztük.
234. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

225. ábra: Az Összehasonlítás eredménye

Érdemes megfigyelni, hogy a Látható elemekkel összhangban van a találati lista megje­
lenítése.
Következő lépésként a Szinkronizálás gombra kattintsunk. Ennél a lépésnél különösen
legyünk óvatosak, mert itt is tönkretehetjük az oldalunkat (226. ábra).

226. ábra: Szinkronizálás

A másolás irányaként érdemes csak a szerver felől a mentés helye szerint (az ábrán Bal­
ról jobbra) engedélyezni a másolást, és a Felülírás megerősítését is meghagyni.
A másolás megtörténte után a Total Commander ismét összehasonlítja a két oldal tartal­
mát. Ha esetleg valamilyen ok miatt a két fájl nem egyezik meg, akkor még inkább fon­
tos tisztában lennünk azzal, hogy melyik irányban kell másolnunk.

20.1.2. Az adatbázis mentése


Legtöbb tárhelyszolgáltató az adatbázishoz való hozzáférést a phpMyAdmin segítségével
teszi lehetővé.
Az adatbázis kiválasztása után az Export fület kell keresnünk. Itt biztonsági mentés ese­
tén az alapbeállítások többnyire megfelelőek, költöztetéskor azonban probléma forrása
20. Adminisztrációs feladatok 235. oldal

lehet például az eltérő verziójú szoftver. (Ekkor először az SQL export kompatibilitás-t
érdemes kipróbálni.)
A Végrehajt gombra kattintás előtt érdemes még a gzip-pel tömörítve lehetőséget is ki­
jelölni. Így egyetlen tömörített fájlt kell letöltenünk a teljes adatbázis mentéséhez (227.
ábra).

227. ábra: Adatbázis exportálás

Végül érdemes megjegyezni, hogy a mentés akkor tekinthető sikeresnek, ha a


mentés alapján egy másik helyen (pl. a lokális gépünkön) az oldal hiba nélkül beüzemel­
hető.

20.2. Honlap átköltöztetése, visszaállítása


Akármelyik esetről is legyen szó, az utolsó biztonsági mentésünket kell elővennünk. A
legegyszerűbb esetben mindössze két vagy három egyszerű lépést kell követnünk.

20.2.1. A settings.php szerkesztése


Átköltöztetés esetén itt adhatjuk meg az új szerver környezet azon adatait, amire a PHP-
nek az adatbázis eléréséhez van szüksége.
236. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

Keressük meg a sites/default/settings.php állományt. Szerkesszük egy tetszőleges prog­


ramozói editorral103, amelyik megfelelően tudja a Unix sortöréseket kezelni.
Keressük meg az a sort, amelyik így kezdődik: $db_url. Például:
$db_url = 'mysql://root@localhost/gamf4';
Néhány sorral fentebb láthatjuk a magyarázó szövegben, hogy hogyan kell módosíta­
nunk ezt a sort. A minta:
$db_url = 'mysql://username:password@localhost/databasename';
Természetesen a szöveg mind az öt részét (mysql, username, password, localhost, data­
basename) a saját szerverünknek megfelelően kell módosítanunk.

20.2.2. A fájlok feltöltése


Total Commander a szokásos módon nagyon egyszerűen megoldja a feladatot. (A telepí­
téskor megtett lépéseket érdemes mintául venni.)

20.2.3. Az adatbázis importálása


A phpMyAdmin SQL fülét keressük meg. A korábban lementett .gz kiterjesztésű állomá­
nyunkat kell a Tallózás-sal megkeresni. A beállítások után pedig Végrehajthatjuk az im­
portálást. (Ha esetleg az állományt mérete miatt nem tudjuk feltölteni, akkor is lehet
megoldást keresni, de ez már túlmutat a jegyzetünk keretein.)

20.3. Frissítés
A honlap elkészítése, beüzemelése után sem hagyhatjuk magára a honlapot. Nem ritka,
hogy a Drupal laprendszer, vagy valamelyik kiegészítő modulnak újabb verziója jelenik
meg.
Az új verzió megjelenésének két fő oka lehet:
● Hibajavítás esetén az új kiadás az előző verzióban talált hibát javítja. Ekkor –
értelemszerűen – alapvető biztonsági cél a frissítés elvégzése.
● Új funkcionalitás esetén a szolgáltatási kör bővülése, valamint az újabb modu­
lok verzió-igénye miatt lesz a frissítés előbb-utóbb elengedhetetlen.
Amennyiben van rá lehetőségünk, érdemes a szerver rendszergazdáját/üzemeltetőjét
„elérhető közelségben” tudni.
Minden alapcsomag tartalmazza az UPGRADE.txt állományt, ami a frissítés javasolt me­
netét mutatja be. A fontosabb lépések:
1. Készítsünk biztonsági mentést az adatbázisról és a fájlokról.
2. Lépjünk be adminisztrátorként a honlapra.
3. Kapcsoljuk a Drupalt offline állapotba.
4. Kapcsoljuk ki a kiegészítő modulokat, és váltsunk vissza az alapértelmezett
sminkre.
5. Töröljük a korábbi verzió állományait, kivéve a sites könyvtárat.
103
A Jegyzettömbnél alig kell többet tudnia. Megfelel például:
http://notepad-plus.sourceforge.net/hu/site.htm
20. Adminisztrációs feladatok 237. oldal

6. Futtassuk az update.php fájlt értelem szerűen.


7. Kapcsoljuk be a modulokat.
8. Kapcsoljuk vissza a sminket.
9. Kapcsoljuk a Drupalt online állapotba.
Ideális esetben a frissítés hiba nélkül megtörténik.
238. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

21. Gyakorló feladatok


Ebben a fejezetben olyan feladatok kerülnek bemutatásra, amelyek akár állásajánlat be­
ugró feladatának, akár teljes értékű munkaköri feladatnak tekinthetők.
A megfogalmazások nem feltétlenül pontosak, nem is feltétlenül jók – mint ahogy a va­
lódi megrendelői igények se feltétlenül hozzáértőktől származnak.

21.1. Szálláskereső oldal


A feladat egy szálláskereső oldal elkészítése. A szállásokról strukturált adatokat tárolunk
el adatbázisban.

21.1.1. A publikus felület


A rendszer publikus felületén egy szállás-listát kell látnunk, amit legördülő listákkal tu­
dunk szűrni, szűkíteni bizonyos paraméterek alapján.
Ezen szempontok alapján rendezést is kell tudni végeznie a felhasználónak a felületen. A
paraméterek a következőek:
 szállás neve
 szállás típusa (legyenek pl. Szálloda, Szálló, Apartman, Kemping)
 szállás elhelyezkedése (városok)
 szállás kategóriája (hány csillagos: 1-5)
 szállás árkategóriája (előre definiált intervallumokkal, pl. -2000 Ft/Fő/éj, 2000-
4000 Ft/fő/éj, 4000- Ft/fő/éj)
A listában a szállásoknak csak a fenti adatai jelennek meg, plusz egy-egy link, ahol bő­
vebben is meg lehet tekinteni az adott szállást.

21.1.2. Szállásadók felülete


A felhasználói felületet csak regisztrált felhasználók vehetik igénybe. A felhasználók fel­
tölthetik saját szállásaikhoz tartozó adataikat. A következő adatok egy szállásra nézve
következőek:
 szállás neve
 szállás típusa
 címe - város
 címe - utca, házszám
 kategóriája (hány csillagos)
 ár: Ft/fő/éj-ben
 leírás (500 karakter)
 két kép
 szolgáltatások listája - ez egy kb. 8-10 opcióból álló checkbox csoport segítségével
valósítandó meg
21. Gyakorló feladatok 239. oldal

21.1.3. Megvalósítási ötletek


 A megoldás domináns részét CCK típusú oldalak fogják kitenni.
 Bár a megrendelő nem kérte, célszerű lenne térképes navigációval is ellátni az ol­
dalt.

21.2. Befektetési tanácsadó


A feladat egy online értékesítési csatornaként működő üzleti portál elkészítése. A weblap
célja, hogy a látogatók regisztráljanak az oldalon, azaz kérjenek egy igényfelmérési idő­
pontot, ahol majd megbízzák a céget vagyonuk kezelésével. Az oldalnak nyugodt, meg­
bízható, stabil hátteret, konzervatív vagyonkezelő céget kell sugallni.

21.2.1. Publikus szolgáltatások


 feliratkozási lehetőség hírlevélre (automatikus értesítés az új feliratkozóról, a fel­
iratkozó ingyen letölthet egy tanulmányt),
 szavazómodul,
 hírek modul,
 letölthető tanulmányok modul,
 időpont-egyeztetési modul (automatikus e-mail értesítés az új
időpontkérésekről),
 pop-up hírlevél-feliratkozás bekapcsolási lehetőség,
 RSS hírszolgáltatás,
 külön ablakban RSS hírbeolvasási lehetőség más pénzügyi portálokról,
 minden lap alján copyright nyilatkozat

21.2.2. Adminisztrációs lehetőségek


 automatizálható és időzíthető hírlevélküldő rendszer,
 Google Analytics webstatisztika
A későbbiekben lehetséges legyen a portál többnyelvűvé tétele, valamint az értékesítési
partnerek számára egy jelszóval védett partnerportál létesítése, ahol követhetik a jutalé­
kukat és az ügyfélállományukat.

21.2.3. Oldalak elrendezése


A nyitóoldal felső negyede egy kép, esetlegesen cserélődő (flash?) képek legyenek. Üzleti
képek, 1-2 értékesítést támogató mondattal. Itt legyen a cég logója, szlogenje és a cég
neve is (ideálisan a bal felső sarokban). A nyitóoldal közepe táján egy néhány mondatos
bemutatkozó szöveg legyen a cég tevékenységéről, valamint 3-4 friss hír, mellette idő­
pont-egyeztető komponens. Az oldal alján letölthető tanulmányok, szavazás, valamint
hírlevélre feliratkozási lehetőség szerepeljen.
240. oldal Webes tartalomkezelő rendszerek – 1.0. verzió

A többi oldalon a menüpontok, a hír, és az időpont-egyeztető modulok nyíljanak meg. A


felső negyed változatlan, a tartalom nagy része a menüponthoz igazodjon. Minden olda­
lon legyen időpont-egyeztetési és hírlevél-feliratkozási lehetőség.

21.3. Céges weboldal hírekkel, képekkel


A megrendelő igényei a következők:
 Hírek, Újdonságok: az aktuális 10 legújabb hírek kerülne ide.
 Régebbi híreink: a régebbi hírek kerülnek bele.
 Rólunk írták: újság, vagy interneten megjelent cikkek rólunk
 Bemutatkozunk: a cég bemutatása.
 Szolgáltatásaink: itt felsoroljuk, milyen szolgáltatásokat nyújtunk.
 Árjegyzék: az éppen aktuális árlista mi mennyibe kerül.
 Rendezvények: az aktuális programok kerülnek bele de ezek a Hírek, Újdonsá­
gok menüpontban is szeretnék megjelenne.
 Képgaléria: 10 db. képgaléria lenne indulás képen és havonta 1 db. galériával
bővülne.
 Elérhetőségek: az elérhetőségeink kerülnek bele.
 Vendégkönyv: egy sima egyszerű vendégkönyv kell.
 Kapcsolat: egy kapcsolati űrlap lenne (Név, Email cím, Tárgy és Üzenet.
 Kérdőívek: havonta szeretnék 1 db kérdőívet feltenni az oldalra 15 db kérdéssel.

21.4. Egyesületi honlap

21.4.1. A megrendelő igénye saját megfogalmazásában


Egyesületet hoztunk létre, melynek létszáma várhatóan százas nagyságrendű lesz, és a
tagok közötti kommunikáció elősegítésére használnánk a honlapot. Elvárásaink:
1. legyen nyitófelület mindenki által elérhető általános információkkal, illetve jel­
szóval védett rész csak tagoknak
2. tagoknak egyéni profil szerkesztési lehetőség előre definiált mezők kitöltésével
(kötelező és választható mezők)
3. aktuális programok/képek/cikkek feltöltési lehetősége a felhasználók egy bizo­
nyos csoportjának
4. fórum, ahol topikokat lehet nyitni, kommentelni. Ha lehet, legyen digest funkció
is, azaz aki kéri, annak adott topik tartalmát a megadott címére naponta/hetente/
havonta képes legyen a rendszer postázni, vagy RSS feedet beállítani
5. keresési lehetőség a honlapon (a) tagokra a profilban megadott bizonyos ismér­
vek szerint, vagy (b) szabad-szavas kereséssel
6. szavazási lehetőség

Vous aimerez peut-être aussi