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).