[Zope] - Standard Variables in DTML

Amos Latteier amos@aracnet.com
Mon, 25 Jan 1999 13:06:24 -0800


At 12:15 PM 1/25/99 -0800, you wrote:
>First, it would be nice if there were an exhaustive list of variables
>that can be accessed within a DTML document.  If there is such a list,
>could someone direct me there?

Have you checked out the DTML Guide?

http://www.zope.org/Documentation/Guides/DTML

It's a pretty good description of how to use DTML. However, since DTML can
be used to access methods of Zope objects too, you need to also check out
the on-line object reference, via the help tab to find out all the methods
you can call from DTML on Zope objects.

>I used to use Frontier, but switched to Zope becuase:
>
>   a. I like to hack
>   b. I like that Zope runs under Linux
>   c. Python rocks
>   d. It's free, and since this is just for fun, I didn't want
>      to pay for Frontier (which is a wonderful product, and I
>      would seriously consider it if I were doing this for anything
>      other than my own amusement).

Welcome aboard!

>One of the things I liked about Frontier was the template stuff, and
>I'm slowly figuring out how to do the same sort of thing in Zope, by
>modifying "standard_html_header" and "standard_html_footer" to set
>up my own theme, but that's not really the right way to do it.  I wish
>I could set up something closer to Templates in Zope, and perhaps I
>will, but it would be cool if someone beat me to it.

So just out of curiosity, what is the right way to do it? I have ideas of
my own about how to improve templating, but I wonder what you like about
Frontier, that Zope lacks.

>Also, I like including the actual document name in the footer of my
>pages so that if something looks weird, I know where to start looking.
>And since this is something I want in all my pages, it seems logical
>to put it in "standard_html_footer".  I looked through the DTML reference,
>and found the <!--#var document_id--> should work, but it -- as it probably
>should -- returns "standard_html_footer".  I'd really like to be able to
>get the name of the "master" document.  Will I have to mine the REQUEST
>headers for that info, or is there a more straightforward way of doing
>this?

Ah, this is a bit deep. The story is that Zope Documents are meant as
templates to display content of other objects. In programmer's terms, they
are closer to methods than objects. So in general it is difficult to access
a Document's properties. Soon there will be Documents available which will
be content holding documents--not templating documents. This will resolve
your issue, but until then it is not easy.

-Amos