HTML-Templates & CMS-Typen

Gesperrt
FunThomas
Beiträge: 14
Registriert: So 21. Nov 2004, 21:16
Kontaktdaten:

HTML-Templates & CMS-Typen

Beitrag von FunThomas »

Hallo,

ich arbeite momentan an einem mehrsprachigen Projekt. Meine oberste Priorität ist es den Code vom Layout gänzlich zu trennen. Dazu wollte ich über die CMS-Typen die Daten eingeben und diese an die HMTL-Templates weitergeben. Nachteil: Laut Handbuch muss man die CMS-Typen zwingend in Modulen verwalten. Ich hoffe ihr könnt mir folgen!?

Wenn ich aber nun die CMS-Typen für die Contenverwaltung in ein Modul eingeb und diese an ein HTML-Template weiterleite, dann wird doch der Content doppelt ausgegeben. Oder sehe ich da etwas falsch?

Über hilfreiche Tipps oder einen Link zu einem hilfreichen Topic wäre ich dankbar.

p.s. Bevor Antworter mir die Suche empfehlen - ich habe Sie bereits ohne Erfolg befragt ;)
MichFress
Beiträge: 750
Registriert: Mo 5. Jan 2004, 22:32
Wohnort: Bochum
Kontaktdaten:

Beitrag von MichFress »

ja, ich glaube, du siehst da etwas falsch, obwohl ich mir nicht ganz sicher bin, was du meinst...

Dass CMS-Typen ausschließlich über Module geregelt werden, ist insofern kein Problem, als dass Module genau dafür da sind. Sozusagen ist "Layout" und "HTML-Template" für das Layout zuständig, "Modul" und quasi "Template" für den Code.

der Inhalt von beispielsweise CMS_HTML[1] wird nur so oft ausgegeben, wie du es ausgegeben werden lässt.

Beispiel-Modul:

Code: Alles auswählen

$tpl->set('d', 'TEXT',  "CMS_HTML[1]");
der Inhalt des CMS-Typs wird hier nicht ausgegeben, sondern nur in das HTML-Template eingebunden.

Habe ich deine Fragestellung halbwegs getroffen? Wenn nein, präzisier dein Problem oder warte auf andere Antworten... ;-)
"Es wird keine Handlung geben, keine Geschichte mit ihrer Versprechung auf einen Anfang und ihrer Hoffnung auf ein Ende." (Andrzej Stasiuk)
FunThomas
Beiträge: 14
Registriert: So 21. Nov 2004, 21:16
Kontaktdaten:

Beitrag von FunThomas »

Die Übergabe der CMS-Typen an ein Template ist klar. Das Problem liegt in der Dateneingabe.

Betrachte ich eine Headline, so steht der CMS-Typ im Modul genau an der Stelle an der die Headline auch ausgegeben wird. Sie steht im Ausgabeteil des Moduls. Will ich die Headline aber an ein Template weiterleiten, dann funktioniert doch diese Variante so nicht... oder etwa doch?

Um die Frage auf den Punk zu bringen: Wohin muss bzw. wie muss im Modul der CMS-Typ integriert werden, damit man seine Werte eingeben kann, wenns sein mss auch in verschiedenen Sprachen?
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Bin mir nicht ganz sicher, aber vielleicht helfen noch Begriffsdefinitionen:

Es gibt:
- Layouts (Basisstruktur, die Platzhalter [Container] enthält)
- Module (die Code enthalten)
- Modul-HTML-Templates, mit denen Struktur von Code getrennt werden kann
- Templates (die definieren, welches Modul statt welchen Platzhalters [Containers] ausgegeben werden soll)

Layouts, Modul-HTML-Templates und Templates sind sprachunabhängig.

Module sind dann sprachunabhängig, wenn für begleitenden Text mi18n("Text") und die Übersetzungsfunktion verwendet wird.

CMS_-Typen sind per se sprachabhängig. Solange man sich im Artikel und Edit-Modus befindet, kann ich im Editor Text eingeben, der für die gerade eingestellte Sprache (rechts oben) gilt.

Wechselt man die Sprache, synchronisiert man den Artikel aus der ersten Sprache, wird im Prinzip eine Kopie des Artikels in dieser Sprache erzeugt. Dieser Text wird übersetzt.

D.h. was auch immer in einer CMS_-Variable steht, ist sprachabhängig. Ob Du das mit echo oder via Modul-HTML-Template ausgibst, ist nicht erheblich.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
FunThomas
Beiträge: 14
Registriert: So 21. Nov 2004, 21:16
Kontaktdaten:

Beitrag von FunThomas »

Vielen Dank für die Hilfe!

Der Hinweis die Variable $edit zu prüfen war ein Volltreffer!
Gesperrt