[Zope] Acquisition acting wierd

Rik Hoekstra rik.hoekstra@inghist.nl
Tue, 11 Jan 2000 17:28:49 +0100


Itamar Shtull-Trauring wrote:
> 
> Rik Hoekstra wrote:
> 
> > This is an acquisition particularity that bites us all at one time of
> > another. It is about acquisition acquiring an object and its context:
> >
> > The aquisition tree in the case of
> > http://zope:8080/foods/all_about/cheese:
> >
> > *cheese
> > *(ac_context root) all_about -> first standard_html_header encountered
> > is that of all_about. root s_h_h is overridden
> > *(ac_context root) foods
> 
> In my case I still get the root s_h_h (nice acronym), not the all_about
> one.  Maybe because cheese ia a Food object, not a dtml-method of foods.  So
> my problem is in fact with
> http://zope:8080/foods/all_about/cheese/index_html that takes the root
> s_h_h, not the all_about one.
> 
> What's the acquisition tree in this case?  And is there anything I can do?
> 

Whoops! sorry to add to the confusion. This _always_ gets me confused
;-\

The acquisition tree is (of course)

* (ac_context of foods, ac_context of root) cheese  -> gets index_html
from root 
* (ac_context root) all_about -> index_html already there
* (ac_context root) foods -> index_html already there

this only changes if you change the url to

http://zope:8080/foods/cheese/all_about/index_html, where
all_about has its own index_html so no further acquisition needed

The changes you could make are either to 
* remove the index_html from the root and add one to both of the sibling
folders (in which case the first index_html will be in the sibling
folder)
* not use sibling folders

Other ingenuous solutions could be possible, but will be hackish.

Rik