Dynamisches Template

Django, Flask, Bottle, WSGI, CGI…
Antworten
00eraser00
User
Beiträge: 36
Registriert: Donnerstag 28. September 2006, 12:21

Freitag 29. September 2006, 10:09

Hallo.

Ich möchte ein dynamisches Template erstellen lassen. Oder eine Seite die dynamisch die Templates auswählt.

Ich möchte verschieden Templates erstellen die zusammen eine Seite ergeben. Und an einer Stelle jeweils die zutreffenden Elemente einsetzten.

In der Form dachte ich mir das:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
lang="en"
metal:use-macro="here/main_template/macros/master"
i18n:domain="plone">

<body>


Stelle die dynamisch geüllt wird!!!!!!!



</div>

</body>
</html>


Diese Stelle so dynamisch gefüllt werden.
Ich würde verschiedene andere Templates erstellen und die sollen dann dort geladen werden. Aber nicht alle sondern mal die und mal die anderen.
Falls ichs unverständlich erklärt habe, dann sagts einfach und ich versuche es nochmal besser zu beschreiben.

Danke schonmal
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Freitag 29. September 2006, 10:44

00eraser00 hat geschrieben:Ich würde verschiedene andere Templates erstellen und die sollen dann dort geladen werden. Aber nicht alle sondern mal die und mal die anderen.
Hi!

Ich würde mit METAL arbeiten und SLOTs befüllen. So arbeitest du dann **nicht mit einer** Vorlage, die andere Vorlagen läd, sondern mit **mehreren Vorlagen**, die immer die gleiche Hauptvorlage (main_template) verwenden.

In einem Python-Skript kannst du dann entscheiden, welche Vorlage angezeigt werden soll. Die aufgerufene Vorlage füllt den Inhalt dann in die Hauptvorlage ein und wird angezeigt.

Pseudocode:

Code: Alles auswählen

if x == 1:
    response.redirect(context.vorlage1.absolute_url())
elif x == 2:
    response.redirect(context.vorlage2.absolute_url())
...
Alternativ zu ``response.redirect()`` kannst du die Vorlage natürlich auch direkt aufrufen und zurück geben.
Das geht dann so: ``return context.vorlage1()``

Sagte ich schon, dass ich Zope wegen dieser netten Spielereien so liebe? ;-)

Hier ein Link. Es ist zwar ein Beispiel für **simpleTAL**, aber es lässt sich genausogut auch auf Zope anpassen: http://www.python-forum.de/post-24844.html#24844

- http://dzug.org/dokumentation/entwicklung/zpt

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Antworten