CMS

Der er en vis afhængighed af placering af filer i CMS'et for at tingene kan virke.
Der er også en vis form for logik i denne uddelegering af informationer i systemet.

Og jeg vil her forsøge at illustrere hvordan og hvorfor.

 

Alting ligger i rodfoleren, eller i foldere i roden.
Filerne i roden er dem der viser indholdet, primært:

  • index.php som er den primære og styrer alt hvad der foregår, og
  • content.php, som er den der viser alt regulært indhold, der ikke kræver specialiserede moduler.

Ud over filerne i roden, er der 4 foldere.

  • Admin, der indeholder administrationsdelen - den vender vi tilbage til.
  • Billeder. De billeder der uploades befinder sig i underfoldere i denne folder. Der findes også en enkelt fil, der bruges til at hentes billeder, og formatere dem som der er brug for.
  • Moduler - indeholder filer der bruges til at vise data for det specifikke modul. Mere senere.
  • Template - der indeholder forskellige layouts for sitet - og der kan være mange eller kun een.

Template = Layout

En template, indeholder en definition af hvordan sitet skal vises.
Man kan godt anvende forskellige templates til forskellige dele af sitet, eller endda give hver enkelt side på sitet sit eget layout.
Hvert layout har sin egen folder under templates - brug navne der beskriver layoutet eller karakteristika.
I administrationen kan man vælge en generel template, der bruges, hvis der ikke vælges en anden - i hvert menupunkt kan vælges template.

En template indeholder mindst to filer:

  • template.php, der faktisk er en HTML-fil der definerer layoutet for templaten, men også indsætter de data der hentes af index.php, content.php og modulerne i layoutet.
  • template.css, der definerer hvordan sitet vises, og i hvert fald i princippet indeholder definition af de elementer der udgøres af layoutet vises.

Der vil desuden almindeligvis skulle være par andre filer:

  • defaults.css, der definerer CSS for de elementer der indsættes i layoutet i administrationsdelen.
  • user.css, der er den fil der indeholder brugerdefineret CSS, og kan sættes på de elementer der indsættes ved administration af sitet.
  • forms.css der definerer hvordan form-elementer vises i det aktuelle layout - kontakt modulet anvender kun denne css-fil.
  • guest.css der definerer hvordan gæstebogen vises i det aktuelle layout.

Kontakt og gæstebog, er de eneste moduler, der ikke har deres egen folder i templaten.
Alle andre moduler, har en folder, der definerer hvordan data skal vises.
I øvrigt bruger kontaktmodulet og gæstebogsmodulet samme filer - som de eneste i systemet, så der er en vis logik i at lægge dem sammen med layoutet - det var også planen at de skulle levers gratis sammen med systemet når nogen købte det... Men ak og ve - folk ved ikke hvad der er godt og skidt for dem selv.

Dette er ikke umiddelbart indlysende, men har man forskellige layouts der anvendes på sitet, kan der være forskellige situationer, hvor de samme data skal vises i forskellige layouts. Derfor er det nødvendigt at man kan skifte mellem CSS filer - og de kan derfor ikke ligge sammen med de filer der finder data, og sætter indholdet sammen - der ville så kun kunne være een måde at vise data på!

Modul = særlig form for data

Moduler bruges til behandling af særlige data, eller samlinger af en bestemt type af data.

CMS'et som sådan, kan håndtere tekster, enkelte billeder og almindelige informationer, uden specielle behov.
Andre former for data - diasshows, madopskrifter, etc., osv. - kræver moduler, der kan finde de data der skal vises, og vise dem.

Moduler har mindst to og generelt tre elementer.

  1. En del i rodbibliotekets modul folder, der vælger og viser de data der skal vises.
  2. En del i mindst een template, der definerer CSS for visningen af data.
  3. Sædvanligvis en del i administrationens moduler, der kan editere de data det handler om.

 

Som tidligere omtalt, deler kontaktmodul og gæstemodul en del både programmering og visning, men det er undtagelser.
Kalenderen er også et modul for sig, der kan inkorporeres i andre moduler.

Ellers vil de fleste moduler have helt adskilte funktionaliteter.

Billeder - specielt.

Høtyve og brændeøkser - vi har ikke noget andet valg.