A leírás célja egy alap Joomla! sablon elkészítésének a bemutatása. Magában foglalja a szükséges fájlok és kódok ismertetését. A kód könnyen kivágható és beilleszthető, így csak néhány kisebb módosításra van szükség.
Tartalomjegyzék |
Egy alap sablon elkészítéséhez először is hozzunk létre egy új könyvtárat a "templates" könyvtáron belül. A könyvtár nevének a sablon nevét adjuk, mint például: "ensablonom". Szövegszerkesztő, vagy kifejezetten erre a célra készített szerkesztő (pl. Adobe Dreamweaver) segítségével hozzuk létre az "index.php" és "templateDetails.xml" fájlokat. A fájlok rendszerezéséhez hozzunk létre két másik könyvtárat is "images" és "css" néven. A "css" könyvtáron belül hozzuk létre a "style.css" nevű fájlt.
Annak ellenére, hogy a teljes CSS kódot közvetlenül is elhelyezhetnénk az "index.php" fájlba, a legtöbb webfejlesztő egy külön fájl használatát részesíti előnyben, amelyre több oldalról is lehet hivatkozni a "link" tag segítségével.
Tehát a könyvtár és fájlstruktúra a következőképpen néz ki:
ensablonom/ css/style.css
images/index.php
templateDetails.xml
A templateDetails.xml fájl nélkülözhetetlen. Ha a fájl hiányzik, a Joomla! nem fogja látni a sablont. A fájl a sablon információit tartalmazza.
Nézzünk meg egy példát:
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE install PUBLIC "-//Joomla! 1.5//DTD template 1.0//EN" "http://dev.joomla.org/xml/1.5/template-install.dtd"><install version="1.5" type="template"><name>ensablonom</name>
<creationDate>2008-05-01</creationDate>
<author>John Doe</author>
<authorEmail>john@example.com</authorEmail>
<authorUrl>http://www.example.com</authorUrl>
<copyright>John Doe 2008</copyright>
<license>GNU/GPL</license>
<version>1.0.2</version>
<description>My New Template</description>
<files><filename>index.php</filename>
<filename>component.php</filename>
<filename>templateDetails.xml</filename>
<filename>template_thumbnail.png</filename>
<filename>images/background.png</filename>
<filename>css/style.css</filename>
</files> <positions><position>breadcrumb</position>
<position>left</position>
<position>right</position>
<position>top</position>
<position>user1</position>
<position>user2</position>
<position>user3</position>
<position>user4</position>
<position>footer</position>
</positions></install>Amint az látható, számos információ található a tagek (<valami>) között. A legegyszerűbb, ha a fenti kódot kivágjuk, majd beillesztjük a "templateDetails.xml" fájlba és szükséges adatokat megváltoztatjuk (mint például <name> vagy <author>).
A <files> résznek tartalmaznia kell az összes fájlt, amelyet a sablon tartalmaz. Valószínűleg a fentiek közül több is ismeretlen, de ne aggódjunk, későbbiekben részletezésre kerülnek.
A pozíciókat egyelőre hagyjuk úgy ahogy vannak. Ezek a leggyakrabban használt pozíciók, ezért az alapértelmezett sablonról könnyen át fogunk tudni váltani a saját sablonunkra.
Az index.php fájl lesz a Joomla! által megjelenített oldalak törzse. Alapjában véve egy szokványos oldalt készítünk (mint bármilyen HTML oldal), de bizonyos helyekre PHP kódot helyezünk, ahol a tartalom fog megjelenni. A következőkben bemutatjuk ennek a fájlnak az alapvető kódját, amelyet szintén kivághatunk és beilleszthetünk.
Kezdjük a elejével:
<?php defined( '_JEXEC' ) or die( 'Restricted access' );?><!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" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" >
Az első sor néhány alapvető támadás ellen szükséges. A második sor megmondja a böngészőnek (és a robotoknak), hogy milyen típusú oldalról van szó. A harmadik sor az oldal nyelvét írja le.
Most következzen a fejléc:
<head><jdoc:include type="head" /><link rel="stylesheet" href="/joomlatanulashu/<?php echo $this->baseurl ?>/templates/system/css/system.css" type="text/css" /><link rel="stylesheet" href="/joomlatanulashu/<?php echo $this->baseurl ?>/templates/system/css/general.css" type="text/css" /><link rel="stylesheet" href="/joomlatanulashu/<?php echo $this->baseurl ?>/templates/<?php echo $this->template?>/css/style.css" type="text/css" />
</head>Az első sor segítségével a Joomla! beilleszti a megfelelő fejléc információt. Ez tartalmazza az oldal címét, meta adatait és a rendszer által használt JavaScript-et is. A további sorok két rendszer stíluslapot és a mi saját stíluslapunkat illesztik be (ha "style.css" a neve és a "css" könyvtárban található).
Az oldal törzse a következőképpen néz ki:
<body><jdoc:include type="modules" name="top" /> <jdoc:include type="component" /><jdoc:include type="modules" name="bottom" /></body>Meglepő módon ez a néhány sor elegendő. Ez egy alap elrendezés, de kezdetnek megteszi. Az összes többi kódot a Joomla! állítja elő.
Megjegyzés: Bizonyosodjunk meg arról, hogy a menü a "top" pozícióban szerepel.
Végül pedig zárjuk le a kódot:
</html>Az "index.php" fájl teljes forráskódja tehát:
<?php defined( '_JEXEC' ) or die( 'Restricted access' );?><!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" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" >
<head><jdoc:include type="head" /><link rel="stylesheet" href="/joomlatanulashu/<?php echo $this->baseurl ?>/templates/mynewtemplate/css/style.css" type="text/css" /></head><body><jdoc:include type="modules" name="top" /> <jdoc:include type="component" /><jdoc:include type="modules" name="bottom" /></body></html>Egy könyvtár benne számos különálló fájllal nem alkalmas megosztásra. Tehát az utolsó lépés egy csomag készítése. Ez egy tömörített csomag, amely tartalmazza a teljes könyvtárstruktúrát és a fájlokat. A csomag lehet ZIP (.zip kiterjesztéssel), TAR-gzip (.tar.gz kiterjesztéssel) vagy TAR-bz2 (.tar.bz2 kiterjesztéssel) formátumú.
Ha a sablon az "ensablonom" könyvtárban található, akkor a parancssor segítségével könnyen elkészíthetjük a csomagot.
tar cvzf ../ensablonom.tar.gz *
zip -a -r ../ensablonom.zip *.*
Megjegyzés Mac OSX felhasználók számára:
A Finder "Compress" menüpontja egy használható ZIP formátumú csomagot készít. Azonban a fájlokat az AppleDouble formátumban tárolja, további fájlokat hozzáaadva "._" karakterekkel kezdődve. Ezért például hozzáad egy "._templateDetails.xml" nevű fájlt is, amelyet a Joomla! 1.5 gyakran rosszul értelmez. Ennek jele egy hibaüzenet: "XML Parsing Error at 1:1. Error 4: Empty document". Ennek megkerülésére használjuk a parancssort, és állítsuk be a "COPYFILE_DISABLE" rendszerváltozót "true" értékre, mielőtt a "compress" vagy "tar" parancsot használnánk.
A rendszerváltozó beállításához nyissunk egy terminál ablakot és írjuk be a következőt:
export COPYFILE_DISABLE=true
Ezután ugyanabban a terminál ablakban lépjünk be abba a könyvtárba, amelyben a sablon található és használjuk a zip parancsot. Például:
cd ensablonomzip -r ensablonom.zip *
Mostanra elkészítettünk egy működő sablont. Habár még nem teljesen néz ki annak. A következő lépésként kezdjük el kísérletezgetni az elrendezéssel és a stílusokkal.
Forrás: Joomla! Documentation