Das "Template"-System von Contenido

Gesperrt
andrej
Beiträge: 333
Registriert: Mi 8. Okt 2003, 09:46
Kontaktdaten:

Das "Template"-System von Contenido

Beitrag von andrej »

Hallo, habe schon ein weilchen mit Contenido nicht mehr gearbeitet. Ich habe im Moment ein Neualtes Projekt, welches ich wieder mit Contenido realisieren möchte.

Hierbei hätte ich einige Fragen, da es leider noch kein Adminbuch für die aktuelle Version existiert.
Ich habe festgestellt das alle Module auf eine Art Templatesystem zurück greift. Gibt es eine Aufschlüsselung für dieses?

Früher habe ich meine Platzhalter für Inhalte so realisiert:
CMS_CONTAINER[1] Modul: Text
bei einem zweiten Block wo ich wieder Text einfügen wollte, habe ich einfach das Modul kopiert, und diesem eine andere ID vergeben, und eben über den CMS_CONTAINER[Y] abgerufen.

Im aktuellen Mandantenbeispiel von Contenido finde ich soetwas wie:

Code: Alles auswählen

 <container id="50" name="Headline" types="Content" mode="optional" default="Headline">Headline</container>
 <container id="51" name="SubHeadline" types="Content" mode="optional" default="Sub_Headline">SubHeadline</container>
 <container id="52" name="Text" types="Content" mode="optional" default="">Content 1</container>
Kann damit jedoch im Moment nicht viel anfangen. was bedeutet name, type, mode, default und welche Befehle können da rein kommen? Was bewirken diese?
Wenn ich es richtig verstanden habe...wenn ich die Platzhalter als CMS_CONTAINER[x] einfüge, greift das jeweilige Modul nicht auf das "Templatesystem"? Oder doch?

Würde mich freuen wenn mir jemand einen kleinen Tipser geben kann, damit ich wieder mit Contenido vernünftig arbeiten kann.
Vielen dank im voraus.
MichFress
Beiträge: 750
Registriert: Mo 5. Jan 2004, 22:32
Wohnort: Bochum
Kontaktdaten:

Re: Das "Template"-System von Contenido

Beitrag von MichFress »

Da kann ich dir unser neues Wiki empfehlen, insbesondere folgende zwei Artikel:

http://www.contenido-wiki.org/wiki/inde ... tle=Layout
http://www.contenido-wiki.org/wiki/inde ... itle=Modul
"Es wird keine Handlung geben, keine Geschichte mit ihrer Versprechung auf einen Anfang und ihrer Hoffnung auf ein Ende." (Andrzej Stasiuk)
andrej
Beiträge: 333
Registriert: Mi 8. Okt 2003, 09:46
Kontaktdaten:

Re: Das "Template"-System von Contenido

Beitrag von andrej »

Hallo MichFress,
vielen Dank für die Links. Eine sehr informative Seite, werde da mal gleich stöbern.

Die Artikel jedoch die du mir verlinkt hast, helfen mir leider nicht weiter.

Folgender Fallbeispiel:
Ich habe eine Seite die in 3 Bereiche unterteilt ist.
Im Bereich 1 habe ich einen Textblock, im Bereich 2 und in 3.

In jedem Bereich setze ich einen Container als Platzhalter, nach diesem Muster.

Code: Alles auswählen

<container id="1" name="Text" types="Content" mode="optional" default="">Content 1</container>
<container id="2" name="Text" types="Content" mode="optional" default="">Content 2</container>
<container id="3" name="Text" types="Content" mode="optional" default="">Content 3</container>
Wenn ich nun im Template unter Contenido den jeweiligen Containern das Modul TEXT zuweise. Werden die Textblöcke unterschielich behandelt, oder wird es die selbe Textausgabe? Wenn ich zb. im Textblock 3 einen Text speicher, wird der identische Inhalt auch in Con2 und Con1 angezeigt?

Sprich wenn ich soetwas nutzen wollte, müsste ich das Textmodul 3 Mal kopieren? Wenn ich unterschiedliche Inhalte präsentieren möchte?

Was hat es mit dem bereits angesprochenem Templatesystem an sich? Die HTML Dateien die im Ordner Template zufinden sind. Wie relevant sind die?
GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Re: Das "Template"-System von Contenido

Beitrag von GaMbIt_ »

Du brauchst natürlich für die einzelnen Textblöcke auch eigene Module...
Also Textmodule die jeweils eine andere Variable ausgeben... 3 x die Variable CMS_HTML[1] augeben bringt auch drei mal den identischen Inhalt...
Besser wäre es natürlich dre verschiedene Module zu haben die jeweils CMS_HTML[1], CMS_HTML[2] und CMSHTML[3] ausgeben...
Ob die CMS Typen jetzt in dem Beispiel richtig sind weiss ich grad nicht, ich hab ich nicht nachgesehen...

Die Templates im Ordner Templates sind Modultemplates... die sind für die Ausgabe der verschiedenen Module wichtig...

Dein Textmodul gibt ja nicht nur die Variable an sich aus sondern baut den Output in ein Modul-Template ein...

Ds hat jetzt nicht zwingend einen großen Vorteil beim Textmodul... kann aber gerade bei Navigationen sehr hilfreich sein.
Ausserdem kann man so wunderbar HTML Output vom Modulcode trennen... flexiblere Module werden so erst richtig möglich...
Nützliche Contenido Infos gibts hier: Contenido Wiki
mfweb
Beiträge: 270
Registriert: Mo 12. Sep 2005, 18:31
Kontaktdaten:

Re: Das "Template"-System von Contenido

Beitrag von mfweb »

andrej hat geschrieben:Was hat es mit dem bereits angesprochenem Templatesystem an sich? Die HTML Dateien die im Ordner Template zufinden sind. Wie relevant sind die?
Hier solltest du noch mehr Infos finden, insbesondere ein kleines Anwendungsbeispiel: Contenido Wiki: Template Klasse.

Die Template-Klasse kann sowohl in Modulen als auch in Plugins verwendet werden. Normalerweise existiert bereits eine Instanz, die $tpl genannt wurde. Um sicher zu gehen, kannst du folgenden Code am Anfang eines Moduls verwenden:

Code: Alles auswählen

if (!isset($tpl) || !is_object($tpl) || strtolower(get_class($tpl)) != 'template') {
    $tpl = new Template();
}
$tpl->reset();
$tpl->set(...); // siehe obiger Link
$tpl->generate(...); // siehe obiger Link
Eine eigene Instanz brauchst du eigentlich nur dann, wenn du zwei Templates ineinander verschachtelt verwenden willst.

Du solltest dich auch von der Namensgebung nicht verwirren lassen. Primär haben die Modul-Templates nichts mit den Templates zu tun, in denen du Layout und Module zusammenfügst.

Viele Grüße
mfweb
Immer mal ein Blick wert: Contenido Wiki ... auch schreibender Zugriff ist erlaubt!
Gesperrt