Siječanj
27
2010

Definiranje parametra modula

Tutorijali > Za developere Autor: Erik Roznbeker, a-web.hr

ili svi vole XML

Opis

Lekcija 2: Ovaj vodič nastavak je prvog dijela, a upoznati će vas sa vrstama parametara modula i kako ih definirati.

 

Ovaj tutorijal obrađuje umirovljenu Joomlu 1.0

Uvod

Parametri Parametri su opcije kojima uređujemo module u administracijskom sučelju. Tamo su predstavljeni kao html elementi formi: tekstualna polja, radio buttoni, padajuće liste, itd. Parametre definiramo sa određenim kodom u xml datoteci modula, a kod uređivanja modula taj xml kod se prevodi u elemente forme a na kraju se rezultati spremaju u bazu. Naš dio posla je samo definirati parametre u xml datoteci a Joomla će na sebe preuzeti prikaz forme, punjenje forme podacima i baratanje podacima u bazi.

Parametre modula možemo podijeliti u nekoliko skupina: statičke, dinamičke i, nazovimo ih, posebne.

 

Statički parametri

... su jedostavni parametri koji poprimaju oblik nekog html input elementa. Ovisno o vrsti podržavaju neke dodatne atribute svojstvene input elementima.

01Tekstualno polje

Primjer statičnog parametra je tekstualno polje. Da bismo dodali polje u sučelje za uređivanje modula trebamo u xml datoteku, između <params> i </params> tagova dodati slijedeći kod:

<param name="opcija_1" />

U ovom primjeru vidimo pet standardnih atributa "param" taga kojima definiramo parametar:

  • name - ime parametra, koristi se kao identifikator parametra, pod tim imenom je spremljena vrijednost u bazi i poziva se u php datoteci modula
  • type - određuje vrstu parametra, kod većine statičkih vrsta parametra type atribut jednak je type atributu html input elementa
  • default - podrazumijevana vrijednost parametra. Valja ga oprezno koristiti jer ako definiramo ovaj atribut nećemo moći parametar pustiti prazan jer će u tom slučaju automatski poprimiti podrazumijevanu vrijednost.
  • label - labela (oznaka) koja daje naslutiti što se uređuje ovim parametrom
  • description - opširniji opis parametra, pojavljuje se kao mali popup prozor kad pređemo mišem preko labele
  • dodatni atribut: size - jednak size atributu html input text elemeta
Primjer parametra

Osim tekstualnog polja statički parametri mogu biti još:

02Padajuća lista

<param name="opcija_2" />
	<option value="a"></option>Slovo a
	<option value="b"></option>Slovo b
	<option value="c"></option>Slovo c

dodatni atribut: size - jednak size atributu html select elemeta


03Radio button

<param name="opcija_3" />
	<option value="0"></option>Ne
	<option value="1"></option>Da

04Textarea

<param name="opcija_4" />

dodatni atributi: cols i rows - jednaki cols i rows atributima html textarea elemeta



Dinamički paramentri

Kako parametre definiramo preko xml-a pomalo smo sputani kod projektiranja konfiguracijskog sučelja za modul jer nam nije dostupan php. Da bi nam barem malo olakšali Joomla developeri ugradili su nekoliko dinamičkih padajućih lista sa popisom nekih entiteta unutar Joomle i datoteka.

05Popis sekcija

Daje listu svih sekcija unutar Joomle

<param name="opcija_5" />

06Popis kategorija

Daje listu kategorija unutar Joomle

<param name="opcija_6" />

07Popis izbornika

Daje popis definiranih izbornika

<param name="opcija_7" />

08Popis slika

Daje popis svih slika (png, gif, jpg, bmp, ico) unutar nekog direktorija

<param name="opcija_8" />

dodatni atribut directory - definira direktorij sa slikama


09Popis datoteka

Daje popis svih datoteka unutar nekog direktorija

<param name="opcija_9" />

dodatni atributi: directory - definira direktorija sa datotekama i filter - dopušta samo datotekama određene ekstenzije da se pojave na listi. Ako želite više extenzija razdvojite ih znakom | (AltGr + W).



Posebni parametri

U ovu kategoriju spadaju 3 parametra koji mi nisu sjedali u ostale kategorije. Iako bi po izgledi trebali upasti u kategoriju statičnih zaslužuju da ih izdvojimo zbog posebnih funkcija koje obavljaju.

10Sufiks css klase

"description" atribut govori dovoljno o ovom parametru. Uvijek je dobro taj sufiks uključiti i na css klase unutar modula, naravno, ako ih imamo.

<param name="moduleclass_sfx" />

11Cache

Joomla ima integriran sustav za cache kako bi se rasteretila baza, a sve što trebate napraviti da bi se vaš modul uključio u sustav keširanja je dodati ovaj parametar. Ako vaš modul koristi podatke iz baze ili podatke sa drugog servera dobro je dodati i koristiti ovaj atribut.

<param name="cache" />
	<option value="0"></option>Ne
	<option value="1"></option>Da

12Horizontalni razdjelnik

Dodaje horizontalnu liniju zbog vizualnog razdjeljivanja skupine parametara. Ovo je čisto dizajnerski element. Možete mu dodati u "label" i "description" atribut ako vam se čini da će koristiti.

<param name="@spacer" />



Praksa

Odlično, ako ste uspjeli progutati ovu teoriju i stići do ovog dijela možemo se malo i zabaviti. Bili jednom programer, doktor i svećenik... Ne, ne tako, zabaviti ćemo se praktičnim radom.

U prošlom nastavku uspješno smo instalirali naš modul koji je pozdravio svijet. Sada ćemo pronaći i, u našem omiljenom tekstualnom editoru, otvoriti xml datoteku modula (modules/mod_zdravosvijete.xml).

Na mjestu gdje se nalazi tag <params /> nadodati ćemo primjere parametra koje smo maloprije spominjali. Nakon toga xml datoteka bi trebala izgledati našto kao:



  Zdravo Svijete
  Pero Perić
  pero@pero.hr
  www.pero.hr
  January 2008
  (C) 2008 Pero Perić
  http://www.gnu.org/copyleft/gpl.html GNU/GPL
  1.0
  Modul koji će pozdraviti svijet.
  
    mod_zdravosvijete.php
  
  
    <param name="opcija_1" />
    
      Slovo a
      Slovo b
      Slovo c
    
    
      Ne
      Da
    
    <param name="opcija_4" />
    <param name="@spacer" />
    <param name="opcija_5" />
    <param name="opcija_6" />
    <param name="opcija_7" />
    <param name="opcija_8" />
    <param name="opcija_9" />
    <param name="@spacer" />
    <param name="moduleclass_sfx" />
    
      Ne
      Da
    
    <param name="@spacer" />
  

Moji parametri Spremite promjene napravljene na mod_zdravosvijete.xml. Sada trkom u administracijsko sučelje i pogledajte na što liči forma za konfiguraciju vašeg modula. Nadam se na sliku "Moji parametri". Za domaću zadaću klikajte po parametrima i vidite radi li to uopće.

Samo za utra geekove: proučite datoteku "includes/joomla.xml.php".

Ovdje možete napraviti download datoteka iz ovog tutorijala xml_iz_druge_lekcije.zip



Ime (Nije obavezno)
Pravila:
  • Budi pristojan
  • Ne spamaj
  • Drži se teme
Web stranica (Nije obavezno)
Komentar: (Nikakvi tagovi nisu dozvoljeni, samo dobar, stari tekst)
Morate napisati neki komentar, inače nema smisla...
Koliko je 2 plus 2? (antispam)

Joomla developer blog • Teme o: Joomla CMS, PHP, MySql, softver otvorenog koda (open source) te web radu i radnicima općenito