Template Engine

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
sweide
Beiträge: 3
Registriert: Do 25. Mär 2004, 10:48
Kontaktdaten:

Template Engine

Beitrag von sweide » Do 25. Mär 2004, 10:59

Hallo,

ich teste gerade Contenido und bin begeistert.

Ein Manko ist mir aber aufgefallen: Eine fehlende Template-Engine a la SMARTY - oder habe ich Sie übersehen?

Und zwar möchte ich sie für folgende Zwecke einsetzen: Um mir die Suche nach richtigen Verzeichnissangaben, etwa bei Bildern, zu ersparen habe, ich dafür eine Funktion geschrieben.
Jetzt soll in meinem Layout überall dort, wo ich eine rel. Pfadangabe machen muss, ein Platzhalter wie ewta {DOTS} mit dem von der Funktion ermittelten Wert ausgefüllt werden. Logischerweise kann der Platzhalter zig male im Layout vorkommen....

Hat jemand ne Idee, wie ich das realisierenkann?

Habe es schon mit der Variablen CMS_CONTAINER[x] probiert. Klappt eigentlich auch, aber wenn ich bspw. CMS_CONTAINER[12] insgesamt 50 Mal in meinem Layout verwende, dann bringt er mir in meinem Template auch 50 Mal den Container 12.
Wisst Ihr was ich meine?

Viele Dank und Grüsse,
Sweide

emergence
Beiträge: 10643
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Do 25. Mär 2004, 11:36

ich hab da mal was zusammengeschrieben...

-> http://contenido.de/forum/viewtopic.php ... =tpl+reset
*** make your own tools (wishlist :: thx)

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Do 25. Mär 2004, 11:36

mit der Klasse "Template" kannst du dies erreichen, und einem Modul.

sweide
Beiträge: 3
Registriert: Do 25. Mär 2004, 10:48
Kontaktdaten:

Beitrag von sweide » Do 25. Mär 2004, 14:51

Hi,

nein das meinte ich nicht ganz.

ich meinte, wie ich mit einem Modul an mehreren Stellen des Layouts Output erzeugen kann.
Beispielsweise dynamisch erzeugter Javascript-Code am Ende des Layouts, um eine Navigation richtig zu plazieren, wohingegen die Navigation selbst irgendwo in der Mitte des Layouts ausgegeben wird....


Danke und Grüsse,
Sweide

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Do 25. Mär 2004, 15:00

Stell dir vor, daß Contenido einfach nur den Code ersetzt (z.b. Modul X in Container 1). Das Resultat kannst du dir in der Tabelle con_code ansehen.

Siehe auch das techref-Verzeichnis unter "docs".

sweide
Beiträge: 3
Registriert: Do 25. Mär 2004, 10:48
Kontaktdaten:

Beitrag von sweide » Fr 26. Mär 2004, 09:07

Sorry, wenn ich noch mal poste, aber ich glaube, wir sprechen noch von zwei verschiedenen Sachen:

ich meinte, ob es möglich ist, mit einem einzigen Modul output an zwei Stellen im Layout zu liefern?

kleines Beispiel:

---------------------------------

<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>Website Titel</title>
</head>
<body>

<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td>CMS_CONTAINER[1]</td>
<td>CMS_CONTAINER[2]</td>
</tr>
<tr>
<td>CMS_CONTAINER[3]</td>
<td>CMS_CONTAINER[4]</td>
</tr>
</table>
{EXTRAOUTPUT}
</body>
</html>

----------------------------------

So, ein einziges Modul, das meinetwegen dem CMS_CONTAINER[1] zugeordnet ist, soll jetzt aber gleichzeitig noch an der Stelle {EXTRAOUTPUT} etwas ausgeben.....

Viele Grüße und tausend Dank

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Fr 26. Mär 2004, 09:37

nein, da das kein Template-System ist, sondern der PHP-Code des Moduls wird an die Stelle des Containers gesetzt. Du kannst höchstens denselben Container 2mal verwenden und dein Modul umstricken, daß es mit einer Abfrage an Position 2 etwas anderes liefert.

hpk
Beiträge: 21
Registriert: Mi 12. Nov 2003, 22:22
Kontaktdaten:

Beitrag von hpk » Fr 26. Mär 2004, 13:09

Stimmt! Habe mir dazu folgendes überlegt:
Durch ein zusätzliches Flag kann bei jeder Seite, außer bei wirklich dynamisch generierten, angegeben werden, ob diese statisch sein sollen. Wenn eine Seite als statisch markiert oder erstellt wird, wird ihr dynamisch generierter Inhalt einmal in eine statische HTML-Datei geleitet. Dabei werden alle Links entsprechend einer Zuweisungstabelle angepasst. So dass die Links in der statischen Seite weiterhin alle Inhalte des CMS aufrufen können, aber mit Berücksichtigung der anderen statischen Seiten. Man kann dann entweder die statischen Links aufrufen oder den dynamischen, wenn man die URL kennt.
das wär' ja super. hab auch schon lang gesucht nach soetwas und nix gefunden!
In wie weit das realisierbar ist, wird sich zeigen.
ich drück euch die daumen!!!

Antworten