[Zope] Acquisition: DTML Methods vs Documents
Stephane Bortzmeyer
bortzmeyer@pasteur.fr
Fri, 05 Jan 2001 15:50:36 +0100
On Friday 5 January 2001, at 12 h 26, the keyboard of Oleg Broytmann
<phd@phd.pp.ru> wrote:
> When I call standard_html_header directly through the web, it acquires
> foobar using dynamic acquisition path:
Actually, if I understand it myself :-) it acquires foobar because a method
has no poperties, so it looks first in the innermost container, the folder
TEST or TEST/2.
> But then I call standard_html_header from DTML Document index_html:
In that case, you start the acquisition with the document index_html (reread
the HOWTO <http://www.zope.org/Members/michel/HowTos/DTMLMethodsandDocsHowTo>:
the acquisition can start from a document or a folder, not from a method).
> http://phd.russ.ru/pcgi/TEST/index_html
> show foobar from root (/TEST); exactly as I expected, no problem
> http://phd.russ.ru/pcgi/TEST/2/index_html
> WOW! It show foobar again from root, not from /TEST/2!
> standard_html_header acquires using static path provided by index_html!
You started acquisition from index_html. Since it has no foobar, it looked
into its own container, /TEST, then in root.
> Is it normal and intended behaviour? If it is, how can I "solve" my
> problem? (I want to acquire different properties in standard_html_header,
> but call standard_html_header from different DTML Documents).
You can but the "problem" in your case, comes from the acquisition of an index_html document in a different folder. I suggest to add index_html documents in every folder *or* make index_html a method (this is what I use).