Sablon fájlszerkezete/templateDetails.xml

A JoomlaWiki wikiből

Tartalomjegyzék

Leírás

Két feladatott lát el:

  • Installáláskor ez a file mondja meg mit hova kell tenni.
  • Alap beállításokat tartalmaz a Joomla! számára.

Ezek a beállítások nem jelennek meg a Webhelyen csak az Adminisztrációs felületen. Egyedül a <params> részben vannak olyan elemek amik közvetve kihatással vannak a Webhelyre.


Felépítés

XML elemek

<?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">

  Elemek

</install> Ezek adottak ne változtassunk rajta, amit viszont mindenképpen kell változtatni azok az elemek. a DOCTYPE sorról majd még írok

Sablon beállítási elemek

  • <name>jugh</name> ez jelenik meg a Sablonkezelőben sablonnév alatt és ezt a nevet kapja a könyvtár a /templates/ könyvtárban. Ha széles körben hordozhatóvá szeretnénk tenni a sablonunkat ne írjuk ékezetes karaktert ide. A szóközt a sablonnévben megjeleníti de a könyvtár nevéből kihagyja.
  • <creationDate>2008 február 10.</creationDate> Sablonkezelőben a dátum oszlopban jelenik meg.
  • <author>Joomla! User Group Hungary</author> Sablonkezelőben a szerző oszlopban jelenik meg.
  • <authorEmail>jugh@tedomained.hu</authorEmail>
  • <authorUrl>http://www.joomla.org.hu</authorUrl>
  • <copyright></copyright>
  • <license>GNU/GPL</license>
  • <version>1.0.0</version>
  • <description>Bevezetés a template készítésbe Joomla! 1.5 -n</description> Sablonkezelőben a sablonra kattintva megjelenik.

<files>

  • <files> itt kell felsorolni a sablon file-ait. Amik

semmiképpen sem hiányozhatnak: <files>

 <filename>index.html</filename>
 <filename>index.php</filename>
 <filename>templateDetails.xml</filename>
 <filename>template_thumbnail.png</filename>
 <filename>favicon.ico</filename>

</files>

<positions>

  • <positions> Beosztás: a modulok megjelenítésének elengedhetetlen eszköze.

<positions>

 <position>head</position>

</positions> Mivel bármilyen nevet használhatunk a következő tanácsokat érdemes betartani. A név legyen rövid, lényegretörő és könnyen megjegyezhető. Ha lehet kerüljük az ékezeteket és a szóközt.

A Joomla! a következő beosztásokat tartalmazza alapértelmezetként.

  • breadcrumb, debug, footer, left, right, syndicate, top, user1, user2, user3, user4

<params>

  • <params>

<params>

 <param name="colorVariation" type="list" default="white"
 label="Color Variation" description="Color variation to use">
   <option value="blue">Blue</option>
   <option value="red">Red</option>
   <option value="green">Green</option>
 </param>

</params>

  • name="" itt megadott névre tudunk hivatkozni amikor lekérjük az értékét a php fileban. $this->params->get( 'parameterName' );
  • type="" itt határozzuk meg a típusát: szövegbeviteli mező, lista, radiónyomogomb stb. A következő értékeket veheti fel.
    • category, editors, filelist, helpsites, imagelist, languages, list, menuitem, radio, section, spacer, text, textarea
  • default="" alapérték
  • label="" a sablon admin felületén jelenik meg a beviteli mező előtt.
  • description="" Egy hosszú leírást írhatunk ide. Az egeret a label-ra rávisszük akkor jelenik meg az ide írt szöveg.

<param> type típusok

A leírásban a <param ... /> tagot több sorban lesz leírva a könnyebb átláthatóság miatt, természetesen ezt érdemes egy sorba írni.


calendar

Naptár segítségével egy dátumot tudunk megadni. <param type="calendar"

      name="calendar_id" 
      default="2008-2-10" 
      label="Calendar" 
      description="" format="%Y-%m-%d" 

/>

  • format alapérték: %Y-%m-%d
  • class alapérték: inputbox

Kép:Tempcal.png

category

A tartalom->Kategória-kezelő ben lévőket tudjuk kiválasztani. <param type="category"

      name="cat_id" 
      default="0" 
      label="Category" 
      description="An article category" 

/>

editors

Engedélyezett editorokat tudjuk kiválasztani. <param type="editors"

      name="editor_id" 
      default="" 
      label="User Editor" 
      description="WYSYWYG Editor for this User" 

/>

filelist

Megadott könyvtárban lévő file-okat tudjuk kiválasztani. <param type="filelist"

      name="file_name" 
      directory="/images/stories" 
      filter="" 
      hide_default="1" 
      default="" 
      label="Menu Image" 
      description="PARAMMENUIMAGE" 

/>

    • directory - az itt megadott könyvtár file-ait listázza ki.
    • filter - szürni lehet vele a file-listát pl: filter=”\.html$” csak a .html re végződő file-okat listázza.
    • exclude - szűrni lehet vele a file-listát pl: exclude=”\.html$” a .html re végződő file-okat NEM listáza ki.
    • stripext - Ha értéke 1 akkor a listában az utolsó pont utáni szöveget nem jeleníti meg. (.html .php .xml .jpg .png stb. állománykiterjesztést levágja)
    • hide_none - Ha értéke 1 akkor nem jelenik meg a listában a ‘Nem használt’.
    • hide_default - Ha értéke 1 akkor nem jelenik meg a listában a 'Alapértelmezett használata’.

helpsite

Webhely->Globális beállítások->Rendszer Súgókiszolgáló -ja jelenik meg, (sablon beállításoknál nem szokták használni) <param type="helpsites"

      name="helpsite_id" 
      default="" 
      label="Help Site" 
      description="Help site for this User" 

/>

hidden

Értéket tudunk megadni, sablonoknál nem gyakran használt. Ha szeretnénk egy paramétert bevezetni de még nem írtuk meg a felhasználását akkor érdemes használni. <param type="hidden"

      name="fontsize" 
      default="10px" 

/>

  • class, alapérték: text_area

html kimenet: <input type="hidden" name="fontsize" value="10px" />

imagelist

Ugyanaz mint a filelist csak itt nem tudunk kizárni vagy szűkíteni a listából. A filter be van állítva '\.png$|\.gif$|\.jpg$|\.bmp$|\.ico$' értékre azaz .png, .gif, .jpg, .bmp és .ico kiterjesztésű fileokat listázza ki. <param type="imagelist"

      name="menu_image_id"  
      directory="/images/stories" 
      hide_default="1" 
      default="" 
      label="Menu Image" 
      description="PARAMMENUIMAGE" 

/>

  • hide_default - Ha értéke 1 akkor nem jelenik meg a listában a 'Alapértelmezett használata’.

language

Bővitmények->Nyelvkezelő->Webhely lévő nyelvek között válogathatunk. <param type="languages"

      name="language_id"  
      client="site" 
      default=""
      label="Front-end Language" 
      description="paramLanguage" 

/>

list

Saját lista készítése lenyíló listával, <option ..> kell felsorolni. <param type="list"

      name="link_titles_id"  
      default="" 
      label="Linked Titles" 
      description="Make the Item titles linkable"

>

 <option value="">Use Global</option>
 <option value="0">No</option>
 <option value="1">Yes</option>

</param>

menu

Menükezelőben fellelhető tipusokat listázza. <param type="menu"

      name="menu_id"  
      default="" 
      label="Menu" 
      description="" />

menu item

Az összes menüből tudunk választani egyet. <param type="menuitem"

      name="menu_item_id"
      label="Menu Item" 

/>

password

A sablonoknál nem használt. <param type="password"

      name="jelszo_id"
      label="Password" 
      description="" 
      size="5" 
      default="" 

/>

  • size
  • class, alapérték: text_area

radio

Klasszikus rádiógomb készítése az <option ..> segítségével. <param type="radio"

      name="cache_yn"
      default="0" 
      label="Enable Cache" 
      description="Most bemutatjuk hogyan kell rádiógombot letrehozni">
 <option value="0">No</option>
 <option value="1">Yes</option>

</param>

section

Tartalom->Szekciókezelőben lévő elemeket jeleníti meg. <param type="section"

      name="sectionid"  
      default="0" 
      label="Edit posts" 
      description="Set the section to retrieve posts from" 

/>

spacer

Elválasztó vonal. <param type="spacer"

      name="@spacer"
      default="" 
      label="" 
      description="" 

/>

sql

Egy select sql lekérdezésből hoz létre egy lenyíló menüt. A select query-ben kettő darab oszlop nevet kell megadni, az első a menü értéket veszi fel, a második lesz kiírva.

Fontos! A queryben az oszlop neveket át kell 'nevezni' value és text oszlopnevekre.

<param type="sql"

      name="menu_select" 
      label="Menü választó"
      description="Válasz menüt amit majd felhasználok" 
      query="SELECT id AS value,name AS text FROM #__menu" 

/>

  • query

Ilyen html kódot hoz létre: <option value="ide_jön_az_id">ide_jön_a_name</option>

text

Egy soros szövegbeviteli mező <param type="text"

      name="fontszine"  
      default="" 
      label="Font színe" 
      description="A szöveg színét itt lehet beállitani." 

/>

textarea

Több soros szövegbeviteli mező <param type="textarea"

      name="description_text"  
      default="" 
      label="Description Text" 
      rows="5" 
      cols="30" 
      description="PARAMDESCTEXT" 

/>

timezones

Egy listából időzonát tudunk kiválasztani. (Nem sürün használt, mert installáláskor megadják ezt az értéket és azt ki lehet olvasni.) <param type="timezones"

      name="time_zone"  
      default="" 
      label="Timezones" 
      description="Válasz időzonát" 

/>

pl.: (UTC +01:00) Amsterdam, Berlin, Brussels, Copenhagen, Madrid, Paris

usergroup

(1.5.2 -től) Felhasználókezelőben lévő Csoport kiválasztót lehet létrehozni vele, sablonoknál nem használt. <param type="usergroup"

      name="usergroup_id" 
      label="User Group" 
      description="User Group leírása" 

/>

  • size alapérték: 1. Annyi sort mutat meg egyszerre amennyi értéket megadunk.
  • class alapérték: inputbox.
  • multiple alapérték: 0. Ha 0 akkor csak egy sor választható ki ha értéke 1 akkor több sor is kiválasztható.

<languages>

A sablonok statikus szövegeit tudjuk másik nyelven megjeleníteni.

 <languages>
   <language tag="en-GB">en-GB.tpl_sablonneve.ini</language>
   <language tag="hu-HU">hu-HU.tpl_sablonneve.ini</language>
 </languages>
 <administration>
   <languages folder="admin">
     <language tag="en-GB">en-GB.tpl_sablonneve.ini</language>
   </languages>
 </administration>

Mint látható a weboldal és az adminisztrátor felületet külön fileban tudjuk megadni.
a file-t a /language/országkód-ORSZAGKÓD/ könyvtárban kell tárolni

template:
<?php echo JText::_('FONTSIZE'); ?>

en-GB.tpl_sablonneve.ini:
FONTSIZE=Font-size:

hu-HU.tpl_sablonneve.ini:
FONTSIZE=Betűméret: