Ich empfehle Dir die Installation mit Beispiel-Mandant und -Modulen. Wenn Du zunächst lokal und unter Windows testen möchtest, verwende die WAMP (suche hier im Forum nach WAMP und Autor HerrB).
Layout: Basis-Gerüst mit unveränderlichen Elementen, darin container-Tags als Platzhalter, sollte kein PHP enthalten...
Module: Funktionale Elemente
Template: Layout + Modul (an der Stelle eines Platzhalters)
Im Handbuch steht ja die Syntax: "<container id="<ID>" name="<NAME>" types="<TYPE>[,<TYPE>]"
mode="mandatory|optional|fixed" default="<MODNAME>">" und wo kommt die hin?
Stelle Dir eine beliebige, komplette HTML-Seite (so mit Head, Body usw.) vor. Und als Beispiel kommt so etwas vor:
Code: Alles auswählen
<body>
<table>
<tbody>
<tr>
<td>Wahnsinns Event</td>
<td>Bilder</td>
</tr>
<tr>
<td>Die Obergreifer Wichtelspatzen sind wegen geistiger Windstille implodiert!</td>
<td><img src="plop.jpg"></td>
</tr>
<tbody>
<table>
</body>
Grundsätzlich die üblichen Belehrungen: tabellenbesiertes Design ist heutzutage igittigitt und XHTML bzw. Standard-Compliance in (<br> -> <br />). Insofern ist das vielleicht eine gute Gelegenheit, alles auf DIV und CSS umzustellen.
Bleiben wir bei Igittigitt und dem Beispiel.
Du kannst nun die Variablen Elemente (z.B. Überschrift "Wahnsinns Event" oder "<img src...") durch Container-Tags ersetzen (übrigens dürfen container-Tags nicht umgebrochen werden <container...>...</container> muss in einer Zeile stehen).
Z.B.
Code: Alles auswählen
<body>
<table>
<tbody>
<tr>
<td><container id="10" name="Title (left)" types="content" mode="optional" default="Headline 1">Headline (left)</container></td>
<td><container id="20" name="Title (right)" types="content" mode="optional" default="Headline 2">Headline (right)</container></td>
</tr>
<tr>
<td><container id="100" name="Content (left)" types="content" mode="optional" default="Content 1">Content (left)</container></td>
<td><container id="110" name="Content (right)" types="content" mode="optional" default="Content 2">Content (right)</container></td>
</tr>
<tbody>
<table>
</body>
Die ids sind beliebig. Verwendet man Lücken, kann man später weitere dazwischenquetschen. types werden durch Deine Angabe hier definiert - ein types="Abrakadabra" stellt später bei Modulen den Modul-Typ "Abrakadabra" zur Auswahl zur Verfügung. Auch types="content,Abrakadabra" ist möglich. Empfehlung: Englische Modul- und Typbezeichnung (-> keine Probleme weltweit...).
Headline x sind Module, die CMS_HTMLHEAD beinhalten (können, Vorschlag). Content x sind Module, die CMS_HTML beinhalten (können, Vorschlag).
Im Beispiel könntest Du auch statt "Content 2" ein Bild-Modul verwenden - im Layout verwendet man aber i.A. einen neutralen Standard, spezielle Definitionen kann man dann später im Template festlegen. Zu allen Begriffen: Siehe Beispiel-Mandant...
Das war jetzt ein Beispiel. Tatsächlich würde ich folgendes Layout verwenden:
Code: Alles auswählen
<body>
<container id="10" name="Content" mode="optional" default="2x2 Table">Content</container>
</body>
Warum? Weil ich dann restlos flexibel bin und nicht für jede Variation der Seite ein eigenes Layout benötige (ist natürlich schon ein wenig kurz, i.A. baut man feste Bereiche für Navigation, Logo, Überschrift und Fußzeile oder sowas ein - Der Kernbereich (in dem sich ein Textfeld, Bilder, Tabellen, Flash, whatever befinden kann, würde ich dann über einen Container definieren).
Das entsprechende Modul sieht dann so aus (nur Ausgabe):
Code: Alles auswählen
<table>
<tbody>
<tr>
<td><?php echo "CMS_HTMLHEAD[10]"; ?></td>
<td><?php echo "CMS_HTMLHEAD[20]"; ?></td>
</tr>
<tr>
<td><?php echo "CMS_HTML[10]"; ?></td>
<td><?php echo "CMS_HTML[20]"; ?></td>
</tr>
<tbody>
<table>
Gruß
HerrB