A Joomla! 1.5-nek nagyon sok hasonlósága és egyben különbsége is van a Joomla! 1.0 fájlstruktúrájához képest. Ebben a cikkben bemutatjuk a főbb különbségeket.
A kitömörítés után a Joomla! kiinduló könyvtára a következőképpen néz ki:
/administrator/cache/components/images/includes/installation/language/libraries/logs/media/modules/plugins/templates/tmp/xmlrpcNéhány megjegyzés:
azelőtt az /includes/ könyvtárban találtunk meg.
Az egyik legérdekesebb könyvtár a /libraries/. Számos ismerős külső szkript nevét találjuk benne, mint például /phpgacl/, /phpmailer/, /geshi/ stb. Néhány újat is fogunk látni mint a /simplepie/ és a /joomla/.
Gyakorlatilag az összes Joomla! API átkerült a fájlokból (nevezetesen az /includes/joomla.php és a többi) a /libraries/joomla/ könyvtárba. Ez jelenleg a Joomla! motorja. Csaknem minden osztály a saját fájljában található egy logikus hierarchiába rendezve. Például az adatbázis MySQL vezérlője a /libraries/joomla/database/database/mysql.php fájlban található. Ha végignézzük a könyvtárakat, néhány ismeretlen nevet találhatunk benne. Ne aggódjunk, a későbbi cikkekben felfedjük, mi történik itt.
Két fő változás van még amit meg akarunk mutatni. Ezek a fejlesztőkre és a tervezőkre vannak a legnagyobb hatással.
Az első főbb változás a felhasználó-oldali komponensek átrendezése MVC formátumba. A könyvtárstruktúra általánosan így néz ki:
/com_content /helpers /models /views /article /tmplMeglehetősen sok fájl van ezekben a könyvtárakban, egy másik alkalommal ezeken végig fogunk menni . A legfontosabb dolog most megérteni a kapcsolatot a könyvtárak, a Joomla! menürendszere és a sablonok között. Szerepelhet még egy /controllers/ könyvtár is ebben a struktúrában a komponens összetettségétől és a fejlesztő egyéni beállításaitól függően.
Az összes könyvtár a /views/ alatt általában az URL-ből hívható. Például
index.php?option=com_content&view=article&id=1.
A komponens tudja, hogy mit tegyen az id-vel, de ez az URL belenéz a /views/article/ könyvtárba, hogy információt szerezzen arról, hogyan jelenítse meg az oldalt. Amikor létrehozunk egy menüpontot az adminisztrációban, látni fogunk egy listát a komponensekről, és amikor kijelölünk egyet, az összes megjelenítési lehetőség listázódik. Ezeket automatikusan felveszi a menükezelő, ami egy fontos fejlesztés a Joomla! 1.0-hoz képest, amelyben nehéz volt megváltoztatni ezeket az opciókat. Számos esetben még több opciót fogunk látni amelyekből választhatunk, ezeket elrendezésnek nevezzük. Az elrendezések a /views/view_name/tmpl/ könyvtárban találhatók és ez (legtöbb esetben) az egyetlen hely, ahol a HTML megjelenik.
És ez vezet el minket a második ponthoz. A Joomla! 1.0-ban lehetőség volt a komponens kimenetének megváltoztatására - de ez nem igazán volt ismert és soha sem volt egy igazi megoldás. A Joomla! 1.5 megváltoztatja ezt. Az összes felhasználó-oldali komponensnek megvan a saját HTML kódja egyszerű elrendezés fájlokban. A Joomla! lehetőséget nyújt ezen fájlok megváltoztatására az éppen használt sablonban.
Példaként nézzük meg a Beez sablont. Egy új könyvtárat fogunk látni /html/ néven.
/html /com_content /article /mod_loginA komponensek és a modulok elrendezését is felül lehet írni.
A komponens esetében készítsünk egy könyvtárszerkezetet a komponens nevével kezdődően (ugyanaz, mint ami a /components/ könyvtár alatt található) a view könyvtárral és helyezzük el benne a php fájlt ugyanazzal a névvel, mint ami a komponens könyvtárában szerepel.
A modulok ugyanígy működnek azzal a különbséggel, hogy azoknak nincsenek különböző nézetei (views), csak az elrendezés felülírása. (Néhány külső bővítményfejlesztő megengedi a különböző elrendezéseket a modulokban, ami egy nagyon hasznos funkció).
Amire mindenképp emlékeznünk kell, hogy egyezzen meg a komponens és a modul, a view és a benne lévő fájl neve, amely az elrendezést tartalmazza. Tényleg nagyon egyszerű. Még részletesebben bele fogunk menni később.
A cikk forrása: The Art of Joomla!