Re: [Zope] my solution to #include in DocumentTemplate
Lance E Sloan writes:
... What I was looking for was something like:
<!--#include file="../path/to/filename.dtml" -->
in a DTML file to include another DTML file, recursively. I ended up doing this:
<!--#with "_(incDoc = DocumentTemplate.HTMLFile('../path/to/file.dtml'))" --> <!--#var expr="incDoc(x = x)" --> <!--#/with --> Interesting that "DocumentTemplate" is exposed this way.
Will hopefully not work inside Zope (potential security risk).
It works well. The only problem is that for every object I want to pass to the included document must be specified individually (x = x). I tried these but they didn't work: You should learn about the two (optional) positional arguments of "DocumentTemplate.HTMLFile.__call__". One source is the DTML section of
URL:http://www.dieter.handshake.de/pyprojects/zope/book/chap3.html If you pass "_" as second parameter: <dtml-var expr="incDoc(_.None,_,x=x)"> or simply use <dtml-var incDoc> then your incDoc should have access to the name in the calling namespace. Dieter
participants (1)
-
Dieter Maurer