Deutsche Zope User Group
Gast 3 Benutzer online
DZUG-News

Was versteht man eigentlich unter Context?

Frage:

Was versteht man aber eigentlich genau unter Context beim Aufruf einer DTML-Methode? Wie sieht z.B. ein anderer Context aus?

Antwort:

Du kannst ja eine DTML-Methode per URL auf unterschiedliche Objekte anwenden. Nehmen wir an, Du hast eine Methode gebaut, die eine HTML-Seite als Mail verschicken soll. Diese Methode hat die id=mail.

Jetzt kannst Du diese Methode ja auf jede Seite in deinem Zope aufrufen, also z.B.:

localhost:8080/content/startseite/mail
localhost:8080/content/personen/mail
localhost:8080/content/personen/bugsbunny/mail

Im ersten Fall ist der Context = startseite, im zweiten personen im dritten bugsbunny. Context meint soviel wie, dassjenige Objekt, auf das ein Script angewandt wird, mit allen seinen Properties, Eltern usw.

Diesen Context kannst Du jetzt auch bei einem Aufruf einer DTML-Methode aus einem Script angeben (bzw. verbiegen).




Hierbei gibt es eine Ausnahme:



Dann wird die Methode auf den aktuellen, d.h. den per URL aufgerufenen Context angewandt, also der Regelfall und man liegt tendenziell nicht schlecht, immer erstmal (None,_) zu �bergeben, wenn man sich nicht ganz sicher ist.

Das Ganze kann z.B. aber auch ganz n�tzlich sein, wenn z.B. deine Mail-Methode in einem Ordner "scripts" liegt. Dann kannst Du sie so aufrufen, um bugsbunny durch das Internet zu jagen:



Mehr Infos bei Dieter Maurer: http://www.dieter.handshake.de/pyprojects/zope/book/chap3.html

Rubriken: DTML    FAQ angelegt von: mjablonski, Letzte �nderung: 02.05.2003 20:33 Uhr