A Joomla! 1.5 fájlstruktúrája

A JoomlaWiki wikiből

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:

  1. /administrator
  2. /cache
  3. /components
  4. /images
  5. /includes
  6. /installation
  7. /language
  8. /libraries
  9. /logs
  10. /media
  11. /modules
  12. /plugins
  13. /templates
  14. /tmp
  15. /xmlrpc

Néhány megjegyzés:

  • A mambots könyvtárat átnevezték plugins-re, amit magyarul beépülőknek nevezünk (ez az egyik nagy fogalmi változás a Joomla! 1.5-ben). Az alkönyvtárak formátuma ugyanolyan, a beépülők csoportosítva vannak, mint tartalom (content), rendszer (system) stb.
  • Van egy új, libraries könyvtár. Itt helyezkedik el a sok API és függvénykönyvtár, melyeket

azelőtt az /includes/ könyvtárban találtunk meg.

  • Új könyvtár továbbá a /media/, amely a felhasználói kezelőfelülethez tartozó fájlokat tartalmazza, mint például javascript-ek, függvénykönyvtárak, flash fájlok stb.
  • A /help/ könyvtárat áthelyezték az adminisztrációs részbe, az /editor/ könyvtárat eltávolították.
  • A harmadik új könyvtár az /xmlrpc/, amelyben a webszolgáltatások támogatásához szükséges XML-RPC protokoll fájljait helyezték el.

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:

  1. /com_content
  2.   /helpers
  3.   /models
  4.   /views
  5.     /article
  6.       /tmpl

Meglehető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

  1. 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.

  1. /html
  2.   /com_content
  3.     /article
  4.   /mod_login

A 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!