Seite 1 von 1

Dynamisches Template

Verfasst: Freitag 29. September 2006, 10:09
von 00eraser00
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

Re: Dynamisches Template

Verfasst: Freitag 29. September 2006, 10:44
von gerold
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
:-)