Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; plgContentedbbee has a deprecated constructor in /customers/c/3/8/amigal.dk/httpd.www/joomla3/plugins/content/edbbee/edbbee.php on line 19

Udvidelser til Joomla

Der findes en del forskellige udvidelser til Joomla

De kan deles op i disse grupper

  • Komponenter
    Er små programmer og den mest komplexe som for udvidelser.
    Den kan indholder både en visningsdel og en administrations del. Komponenter bliver kaldt hver gang siden kaldes og den skaber selve indholdet på siden.
     
  • Moduler
    er små programer der kan tilføjes siden. Kaldes også bokse som er tilknyttet bestemte punkter i menuen, og det er dem muligt at styre på hvilke sider disse skal vises. 
     
  • Programudvidelser
    ersmå programmer der udvider måden som Joomla arbejder på. De bliver styret udfra de begivenheder der sker på siden, som f.eks. klik på bestemte knapper, gendannelse af siden.
     
  • Skabeloner
    er beskrivelse af hvordan siden skal vises, hvor skal moduler og komponenter vises, overskrift, farver og andet der er det egentlige design af siden. De øvrige udvidelser tilføjer funktionalitet på siden, men skabloner bestemmer hvordan siden skal se ud. 
  • Sprog
    er en udvidelser der gør det muligt at oversætte knapper, menu punkter og andet til netop det sprog du ønsker.
    Joomla indeholder altid en engelsk sproget udvidelse, men på baggrund af denne kan det engelske oversættes til netop det sprog du ønsker.
    Hvis selve indholdet på siden skal oversættes fra et sprog til et andet kræver det f.eks. en programudvidelse der "læser" indholdet igennem og oversætter indholdet inden det bliver vist. 

Da Joomla en et åbent kode projekt, er koden frit tilgængelig og det samme er det API der skal bruges for at kunne lave disse tilføjelser. Et API indeholder foruddefineret programkald, objekter, klasser og funktioner der kan kaldes i ens egne programmer/udvidelser.

Det gør at der på nettet er en masser af forskellige udvidelser til Joomla, både som komponent, moduler og programudvidelser, og hvert af disse kan så også rumme forskellige sprog.

Hvis standarden for opbygning af disse moduler, komponenter er overholdt, så vil det være forholdvis simpel at oversætte til forskellige sprog.

På adressen http://extensions.joomla.org/ kun du finde mange forskellige former for udvidelser. Nogle er disse er helt gratis at bruge ( non.commercial) og andre skal der betales for at bruge ( commercial).

Nogle er non-commerciale, men udvikleren kræver du registrere dig for at hente udvidelsen.

I andre artikler beskriver min egen erfaring med nogle af disse udvidelser og hvordan de virker.
her vil prøve at fortælle hvordan du selv kan programmere din egen udvidelse med udgangs punkt i en konkret udvidelse jeg selv bygger op.

Den udvidelse jeg her vil bygge op og bruge som eksempel på hvordan du kan skrive din egen komponent er en  form for lager betegnelse.

Jeg vil derfor kalder udvidelsen "Amigal Inventory"

Tanken med udvidelsen er at den skal kunne bruges til at lagre hvilke ting f.eks en organisation har og hvor de har dem henne.  Kan også ses som et lille lager modul.
jeg har ikke kune finde et lille simpel lagermodul på nettet og tænker derfor at jeg selv kunne lave det.

Tanken bag det er simpel.

Det skal indholde

  • en indtastningsdel ( Formular) hvor der kan skrives ind hvad der er på lageret. 
  • en ændringsdel ( kan god være en del af indtastningsdelen) hvor der kan rettes i oplysningerne om hvad der er på lagret.
  • En præsentationssdel som skal kunne vise hvad der er på lagret, og bestemmer hvordan det vises.
  • En søge funktion så der kan søges efter genstande der er på lagret
  • En sorteringsfunktion så tingene kan sorteres efter en given rækkefølge f.eks navn, antal, type, dato
  • Administrationsdel der gør det muligt at bestemme hvem må se,tilføje, ændre og/eller slette noget på lagret
  • En installations del, så det kan installationer med udvidelses administrationen
  • En opdateringsdel der gør det muligt at opdatere udvidelsen når der laves en ændringer.

For at kunne opbygge dette tager jeg udgangspunkt i vejledningen der ligger http://docs.joomla.org/Developing_a_Model-View-Controller_%28MVC%29_Component_for_Joomla!1.6 om hvordan du laver en hallo verden komponent